存储过程拼接了两个sql,如何执行;
createorreplaceprocedureDELETE_THOROGH_INFO(v_tableNameinvarchar2,v_pkKeyinvarchar2,v...
create or replace procedure DELETE_THOROGH_INFO(v_tableName in varchar2, v_pkKey in varchar2, v_pkValue IN varchar2)
is
v_sql1 varchar2(200);
v_sql2 varchar2(200);
begin
v_sql1 :='DELETE FROM cfg_resource_log WHERE pk_col_value = '|| v_pkValue;
v_sql2 :='DELETE FROM ' ||v_tableName||' WHERE '||v_pkKey||'='||v_pkValue;
execute immediate v_sql1 ;
execute immediate v_sql2 ;
commit;
end DELETE_THOROGH_INFO; 展开
is
v_sql1 varchar2(200);
v_sql2 varchar2(200);
begin
v_sql1 :='DELETE FROM cfg_resource_log WHERE pk_col_value = '|| v_pkValue;
v_sql2 :='DELETE FROM ' ||v_tableName||' WHERE '||v_pkKey||'='||v_pkValue;
execute immediate v_sql1 ;
execute immediate v_sql2 ;
commit;
end DELETE_THOROGH_INFO; 展开
3个回答
展开全部
这个是oracle的存储过程。你只要在执行时候输入参数_tableName,v_pkKey ,v_pkValue 的值就行了,它会自动顺序执行的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是要用动态语句来执行。在MYSQL中,执行动态SQL语句是:
prepare stml from v_sql1;
execute stml ;这样的语句来动态执行。
prepare stml from v_sql1;
execute stml ;这样的语句来动态执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sqlplus中:
exec DELETE_THOROGH_INFO('参数', '参数', '参数');
函数、过程中:
DELETE_THOROGH_INFO('参数', '参数', '参数');
exec DELETE_THOROGH_INFO('参数', '参数', '参数');
函数、过程中:
DELETE_THOROGH_INFO('参数', '参数', '参数');
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询