DB2——存储过程-变量赋值set,Values

      可使用 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;

 

猜你喜欢

转载自www.cnblogs.com/wy20110919/p/9051269.html