[ [ 재귀 ] 사용with_query[, ...] ]
윈 토토테이블 [ ( 열[, ...] ) ]
기본 값 | 값(표현| 기본값 [, ...] ) [, ...] |질의[ 돌아오는 중 * |출력_표현[ [ 그대로 ]output_name ] [, ...] ]
윈 토토테이블에 새 행을 윈 토토합니다. 값 표현식으로 지정된 하나 이상의 행을 윈 토토할 수 있습니다. 또는 쿼리로 인해 발생하는 0개 이상의 행입니다.
대상 열 이름은 순서에 관계없이 나열될 수 있습니다. 목록이 없으면 열 이름이 전혀 지정되지 않은 경우 기본값은 모든 열입니다. 선언된 순서대로 테이블을 정리합니다. 아니면 첫 번째N열 이름(만 있는 경우)N에서 제공하는 열값절 또는질의. 에서 제공하는 값은값절 또는질의명시적인 또는 암시적 열 목록은 왼쪽에서 오른쪽으로 표시됩니다.
각 열이 명시적 또는 암시적 열에 존재하지 않음 목록은 선언된 기본값으로 채워집니다. 기본값이거나 없는 경우 null입니다.
열의 표현식이 올바른 데이터가 아닌 경우 유형을 선택하면 자동 유형 변환이 시도됩니다.
선택사항돌아오는 중절 원인윈 토토값을 계산하고 반환하기 위해 실제로 윈 토토된 각 행을 기반으로 합니다. 이는 주로 다음에 유용합니다. 직렬과 같이 기본적으로 제공되는 값 얻기 시퀀스 번호. 그러나 테이블의 열이 허용됩니다. 의 구문돌아오는 중목록은 출력의 목록과 동일합니다. 목록선택.
당신은 있어야 합니다윈 토토에 대한 권한 테이블에 윈 토토할 수 있습니다. 열 목록이 지정된 경우 당신은 단지 필요합니다윈 토토에 대한 특권 나열된 열. 의 사용돌아오는 중절에서 요구됨선택모든 권한 에 언급된 열돌아오는 중. 당신이 사용하다질의윈 토토할 절 쿼리의 행에는 물론 다음이 필요합니다.선택다음에 사용된 모든 테이블이나 열에 대한 권한 쿼리입니다.
그함께절을 사용하면 다음을 수행할 수 있습니다. 참조할 수 있는 하나 이상의 하위 쿼리를 지정합니다. 이름은윈 토토질의. 참조PostgreSQL : 문서 : 9.1 : 토토와 함께 (공통 테이블 표현식)그리고선택자세한 내용은.
다음에는 가능합니다.질의 (선택statement)에는 a도 포함됩니다.위드절. 그런 경우에는 둘 다 세트with_query될 수 있습니다 내에서 참조됨질의, 하지만 두 번째는 더 밀접하게 중첩되어 있으므로 우선순위가 높습니다.
기존 이름(선택적으로 스키마 한정) 테이블.
열의 이름테이블. 열 이름은 다음과 같습니다. 하위 필드 이름이나 배열 첨자로 한정된 경우 필요합니다. (복합의 일부 필드에만 윈 토토 열은 다른 필드를 null로 둡니다.)
모든 열은 기본값으로 채워질 것입니다 값.
해당 항목에 할당할 표현식 또는 값열.
해당열기본값으로 채워집니다.
쿼리(선택성명) 윈 토토할 행을 제공합니다. 참조선택설명문 구문.
다음에 의해 계산되고 반환되는 표현식윈 토토각 행 뒤의 명령은 다음과 같습니다. 윈 토토됨. 표현식은 다음의 모든 열 이름을 사용할 수 있습니다.테이블. 쓰기*윈 토토된 항목의 모든 열을 반환합니다. 행.
반환된 열에 사용할 이름입니다.
성공적으로 완료되면,윈 토토명령은 다음 형식의 명령 태그를 반환합니다.
윈 토토oid 개수
그개수수는 행이 윈 토토되었습니다. 만일개수이다 정확히 하나이고 대상 테이블에 OID가 있는 경우oid이것은OID윈 토토된 행에 할당되었습니다. 그렇지 않으면oid0입니다.
만약윈 토토명령에 다음이 포함됨돌아오는 중절, 결과는 다음과 같습니다. a와 비슷하다선택문장 에 정의된 열과 값을 포함합니다.돌아오는 중목록, 윈 토토된 행에 대해 계산됨 명령으로.
테이블에 단일 행 윈 토토영화:
영화 값에 윈 토토
('UA502', '바나나', 105, '1971-07-13', '코미디', '82분');
이 예에서는len열은 생략되었으므로 기본값을 갖습니다.
INSERT INTO 영화(코드, 제목, 했던 일, 날짜_제작, 종류)
VALUES ('T_601', '요짐보', 106, '1961-06-16', '드라마');
이 예에서는 다음을 사용합니다.기본값절 값을 지정하는 대신 날짜 열의 경우:
영화 값에 윈 토토
('UA502', '바나나', 105, DEFAULT, '코미디', '82분');
INSERT INTO 영화(코드, 제목, 제작한 날짜, 날짜_제작, 종류)
VALUES ('T_601', '요짐보', 106, DEFAULT, '드라마');
전체가 기본값으로 구성된 행을 윈 토토하려면:
영화 기본 값에 윈 토토;
다중 행을 사용하여 여러 행을 윈 토토하려면값구문:
INSERT INTO 영화(코드, 제목, 행한 일, 날짜_제작, 종류) VALUES
('B6717', '탐포포', 110, '1985-02-10', '코미디'),
('HG120', '디너 게임', 140, DEFAULT, '코미디');
이 예는 테이블에 일부 행을 윈 토토합니다.영화테이블에서tmp_films다음과 동일한 열 레이아웃을 사용함영화:
영화에 윈 토토 SELECT * FROM tmp_films WHERE date_prod < '2004-05-07';
이 예는 배열 열에 윈 토토됩니다:
-- 십자형 게임을 위한 빈 3x3 게임판 만들기
INSERT INTO tictactoe(게임, 보드[1:3][1:3])
VALUES (1, '" "," "," "," "," "," "," "," "," "');
-- 위 예의 첨자는 실제로 필요하지 않습니다.
tictactoe에 윈 토토(게임, 보드)
값 (2, 'X," "," "," ",O," "," ",X," "');
테이블에 단일 행 윈 토토배포자, 시퀀스 번호 반환 에 의해 생성됨기본값절:
INSERT INTO 배포자(did, dname) VALUES(기본값, 'XYZ 위젯') 돌아왔습니다.
관리하는 영업사원의 판매 건수를 증가시킵니다. Acme Corporation을 계정에 등록하고 업데이트된 전체 행을 기록합니다. 로그 테이블의 현재 시간과 함께:
업데이트 AS 포함(
UPDATE 직원 SET sales_count = sales_count + 1 WHERE id =
(WHERE 이름 = 'Acme Corporation'인 계정에서 sales_person 선택)
돌아오는 중 *
)
INSERT INTO Employees_log SELECT *, current_timestamp FROM upd;
윈 토토SQL 표준을 따르며, 제외하고는복귀 중절은 a포스트그레SQL확장 프로그램도 마찬가지입니다. 사용 능력WITH함께윈 토토. 또한, 컬럼 이름 목록이 있는 경우 생략되었지만 모든 열이 채워지는 것은 아닙니다.값절 또는질의, 표준에서는 허용되지 않습니다.
가능한 제한사항질의절은 아래에 문서화되어 있습니다.선택.