대입

대입 (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 INTO
  • VALUES INTO

더 알아보기 (Learn more)

HPL/SQL에는 변수에 값을 넣는 방법이 크게 세 가지(대입 연산자, SET 문, SELECT 결과 대입) 있으니 상황에 맞춰 골라 쓰면 돼요. 쿼리 결과를 여러 변수에 한 번에 담으려면 SELECT INTOVALUES INTO도 함께 알아 두면 좋습니다.