====== Assignment ====== You can use the assignment operator or statement to set a new value to variable in HPL/SQL. If the variable was not explicitly declared before the assignment, a new variable is created and its data type is derived from the assignment expression. ===== Assignment Operator ===== Values can be set using the assignment operator := or = Syntax: var [:= | = ] expression; Example: code := 'A'; status := 1; count = 0; **Compatibility:** Oracle PL/SQL, PostgreSQL PL/pgSQL and Netezza NZPLSQL. **Version**: PL/HQL 0.01 ===== Assignment Statement ===== You can also use the SET statement to assign value to variables. Syntax: SET var = expression [, ...]; | SET (var [, var2, ...]) = (expression [, expression2, ...]) Example: SET code = 'A'; SET status = 1, count = 0; SET (count, limit) = (0, 100); **Compatibility:** IBM DB2, Teradata, Microsoft SQL Server and MySQL. **Version**: PL/HQL 0.01 ===== Assignment From a SELECT Statement ===== You can also use the SET statement to assign value from the first row of a query result: Syntax: SET var = (SELECT col FROM ...); | SET (var [, var2, ...]) = (SELECT col [, col2, ... ] FROM ...); | SELECT var = col [, var2 = col2, ...] FROM ... -- since HPL/SQL 0.3.11 Example: 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 and MySQL. **Version**: PL/HQL 0.3.7 See also: * [[select-into|SELECT INTO]] * [[values-into|VALUES INTO]]