DECLARE EXIT handler FOR sqlexception
BEGIN
SET v_RetVal = SQLCODE;
SET v_strState = SQLSTATE;
SET v_MessageError = '处理失败,其中SQLSTATE:'||v_strState;
END;
---初始化返回参数
SET v_RetVal = 0;
SET v_MessageError = ''; --如果成功需要提示,则在此给定。
--设置隔离级别
-- SET CURRENT ISOLATION = UR;
--声明标题输出的临时表
DECLARE GLOBAL TEMPORARY TABLE temp_caption(
caption varchar(20),
width varchar(20) ,
property varchar(20),
format varchar(20),
fixcol char(1),
align char(10),
datatype integer
) NOT LOGGED WITH REPLACE;
-----------------------------插入标题属性信息------------------------
insert into SESSION.temp_caption values('bigtypeid ','0','id ','','0' , 'left' , 1);
insert into SESSION.temp_caption values('序号 ','40','orderby ','','0' , 'left' , 1);
insert into SESSION.temp_caption values('维度 ','100','name ','','0' , 'left' , 0);
SET v_strCaptionSQL='SELECT caption,width,property,format,fixcol,align,datatype FROM SESSION.temp_caption';
-----------------------------程序主体-------------------------------
IF v_Init = '1' then
SET v_strPreSQL='SELECT '''' AS id,'''' as orderby,'''' AS name WHERE 1=2' ;
ELSE
SET v_strPreSQL='SELECT distinct a.bigtype as id,a.orderby as orderby,b.bigtypename as name FROM tc.fl_basetype a,tc.f_basetypeinfo b
where a.flagid=@flagid and a.bigtype=b.bigtype order by a.orderby' ;
END IF;
CREATE PROCEDURE update_salary
(IN employee_number CHAR(6), IN rating INT)
LANGUAGE SQL
BEGIN
DECLARE SQLSTATE CHAR(5);
DECLARE not_found CONDITION FOR SQLSTATE '02000';
DECLARE EXIT HANDLER FOR not_found
SIGNAL SQLSTATE '02444';
CASE rating
WHEN 1 THEN
UPDATE employee
SET salary = salary * 1.10, bonus = 1000
WHERE empno = employee_number;
WHEN 2 THEN
UPDATE employee
SET salary = salary * 1.05, bonus = 500
WHERE empno = employee_number;
ELSE
UPDATE employee
SET salary = salary * 1.03, bonus = 0
WHERE empno = employee_number;
END CASE;
END @
DROP PROCEDURE pro_del@
CREATE PROCEDURE pro_del (
IN P_CYCLE_TYPE VARCHAR(20) ,--接口周期(即任务周期)
OUT P_RESULT_CODE INT , --返回值
OUT P_RESULT_STATE CHAR(5) )
LANGUAGE SQL
BEGIN
DECLARE sqlcode int;
DECLARE SQLSTATE CHAR(5);
DECLARE Ssql varchar(200);
set ssql='CREATE TABLE YUTEST3A3(CODE INT) in tmp22';
execute immediate ssql;
END@