oracle的sql怎么定义变量啊

2025-03-22 03:42:14
推荐回答(3个)
回答1:

create or replace procedure p_insert
(a  varchar2(8))
as
begin
insert into table1 select * from table2 where "date"=a;  
commit;
end;

上边是创建

执行时

begin
p_insert('20110101') ;
end;

说一下,你这个a和表2里的类型必须都一致,都要是字符型,如果不是的话,输入参数a不可以变,你可以在表2里用to_char函数将日期转成这个格式

还有你表2里的字段叫date,这个是关键字,所以加了双引号

回答2:

不用存储过程那么麻烦的。。。

insert into table1 select* from table2 where date= &a;

执行的时候自动会跳出框让你填写a的值。。这里a是数值

如果a是字符或日期格式的的话那么改成

insert into table1 select* from table2 where date= '&a';

回答3:

a integer;
b date;

另外 你的where语句不对 where date=a