让我们先创建一个表
create table test
(
id number,
name varchar2(20)
);
Run Code Online (Sandbox Code Playgroud)
现在在插入期间,我想先将数据保存到变量中,然后像这样将变量动态传递到 VALUES 子句中:
declare
v_data varchar2(50);
begin
v_data:='1,sunny';
execute immediate 'insert into test values(v_data)';
commit;
end;
Run Code Online (Sandbox Code Playgroud)
但它显示了一些错误(值不够)......请帮助如何实现这一点??
您需要为每个值使用不同的变量
declare
v_data1 number
v_data2 varchar2(50);
begin
v_data1 :=1
v_data2 = 'sunny';
insert into test values(v_data1,v_data2);
-- Alternatively insert into test (Name) values (v_data2);
commit;
end;
Run Code Online (Sandbox Code Playgroud)