대입
대입 (Assignment)
HPL/SQL에서는 대입 연산자(assignment operator)나 대입 문(statement)을 사용해 변수에 새로운 값을 설정할 수 있어요. 대입 전에 변수를 명시적으로 선언하지 않았다면, 새 변수가 만들어지고 그 데이터 타입은 대입식(assignment expression)으로부터 유도됩니다.
출처: 문서
본문
대입 연산자 (Assignment Operator)
:= 또는 = 대입 연산자를 사용해 값을 설정할 수 있어요.
구문:
var [:= | = ] expression;
예제:
code := 'A';
status := 1;
count = 0;
호환성 (Compatibility): Oracle PL/SQL, PostgreSQL PL/pgSQL, Netezza NZPLSQL
대입 문 (Assignment Statement)
SET 문을 사용해서도 변수에 값을 대입할 수 있어요.
구문:
SET var = expression [, ...];
SET (var [, var2, ...]) = (expression [, expression2, ...])
예제:
SET code = 'A';
SET status = 1, count = 0;
SET (count, limit) = (0, 100);
호환성 (Compatibility): IBM DB2, Teradata, Microsoft SQL Server, MySQL
SELECT 문에서 대입 (Assignment From a SELECT Statement)
SET 문을 사용해 쿼리 결과의 첫 번째 행에서 값을 대입할 수도 있어요.
구문:
SET var = (SELECT col FROM ...);
SET (var [, var2, ...]) = (SELECT col [, col2, ... ] FROM ...);
SELECT var = col [, var2 = col2, ...] FROM ... -- since HPL/SQL 0.3.11
예제:
SET code = (SELECT code FROM conf WHERE name = 'A');
SET (count, limit) = (SELECT count, limit FROM conf WHERE name = 'A');
SELECT @count = count, @limit = limit FROM conf WHERE name = 'A';
호환성 (Compatibility): IBM DB2, Teradata, Microsoft SQL Server, MySQL
더 보기:
SELECT INTOVALUES INTO
더 알아보기 (Learn more)
HPL/SQL에는 변수에 값을 넣는 방법이 크게 세 가지(대입 연산자, SET 문, SELECT 결과 대입) 있으니 상황에 맞춰 골라 쓰면 돼요. 쿼리 결과를 여러 변수에 한 번에 담으려면 SELECT INTO나 VALUES INTO도 함께 알아 두면 좋습니다.