执行方法主要是使用execute immediate执行组合成的sql语句,示例如下:
代码
--动态sql
CREATE OR REPLACE PROCEDURE Hp_Pro_sql
(
p_TableName in varchar2, --表名
p_Result out varchar2 --结果
)
IS
v_TableName varchar2(30);
v_Sql varchar2(100);
BEGIN
v_TableName:='HP_NO';
v_Sql := 'select count(*) from ' || v_TableName; --组合sql
execute immediate v_Sql into p_Result; --执行动态sql,将结果赋给变量
END;
CREATE OR REPLACE PROCEDURE Hp_Pro_sql
(
p_TableName in varchar2, --表名
p_Result out varchar2 --结果
)
IS
v_TableName varchar2(30);
v_Sql varchar2(100);
BEGIN
v_TableName:='HP_NO';
v_Sql := 'select count(*) from ' || v_TableName; --组合sql
execute immediate v_Sql into p_Result; --执行动态sql,将结果赋给变量
END;