可使用 SET 语句或 SELECT INTO 语句将值指定给变量,也可在声明变量时将其指定为缺省值。可对变量指定字面值、表达式、查询结果和专用寄存器值。
可将变量值指定给 SQL 过程参数或 SQL 过程中的其他变量,也可在例程内执行的 SQL 语句中将变量值作为参数引用。
1、set赋值
declare v_sql varchar(4000) default '';--动态sql --程序开始 --表-- if upper(v_lx) = 'T' then if exists(select 1 from sysibm.tables where table_schema = 'PAS' and table_name= ltrim(rtrim(replace(upper(v_ccmc),'PAS.','')))) then set v_sql='drop table '||v_ccmc; 给v_sql赋值 prepare s1 from v_sql; execute s1; end if; end if;
2、select into赋值(给多个变量赋值)
SELECT SUM(SALARY),SUM(SALARY*0.1) INTO TOTAL_SALARY,TATAL_COMMISSION FROM EMPLOYEE WHERE DEPT=10;
3、values赋值:目前还不懂,没有找到相关资料
VALUES(100,200,200+1) INTO var1,var2,var3; /*并行赋值,效率高*/
SET total = 100; VALUES(100,200,200+1) INTO var1,var2,var3; /*并行赋值,效率高*/ SET total = NULL; SET total = (select sum(c1) from T1); SET sch = CURRENT SCHEMA;