PLSQL变量插入

时间:2014-12-04 20:58:38

标签: sql oracle variables plsql

我在我的PLSQL函数中发送一个参数,这是Table的名称。 在我的代码中,我想插入参数中正在接收的表中。

当我输入insert语句

insert into TABLE_VARIABLE_NAME 
VALUES (1, 2, 3);

它给出了表格不存在的错误。 如何使用Table的名称作为函数的参数?

2 个答案:

答案 0 :(得分:2)

你需要使用execute immediate的动态SQL。

execute immediate 'insert into ' || l_var_name || 'values (1,2,3)'

答案 1 :(得分:2)

以下是您可以尝试的完整演示代码,即使上面的提示绝对正确,我只是将插入值更详细地描述为varchar2: -

create table td (valued varchar2(10));

create or replace procedure dhar_conn(tname varchar2)
 as
 begin
    execute immediate 'insert into '||tname||' values(''1'')';
 commit;
 end;/

 execute dhar_conn('td')