小弟初学db2
写着写着动态sql 就犯晕了 什么时候必须用动态sql啊??
感觉下面sql 也可以用静态sql直接写啊 除了无法将sql语句打印并记录下来。。
---sp
begin
declare sqlbuf varchar(8000); --存放需执行的SQL语句
declare data_tbs varchar(20); --数据表存放空间
declare index_tbs varchar(20); --索引存放空间
call p_g_get_tbs(data_tbs, index_tbs); --获取当前建表时需使用的表空间
set sqlbuf = '
create table TMP_CRING
(
usr_id varchar(20),
cring_status_mark smallint,
start_date date,
reg_method_id smallint,
cring_use_months int
)partitioning key(usr_id) in ' || data_tbs || ' index in ' || index_tb;
call p_g_exe_sql(sp_name, sqlbuf); --这个sp 是记录上面sql的执行语句的到log table中 并执行上面语 句
end
收起