create or replace procedure pk_lyy_sjhz is // 存储过程 procedure pk_lyy_org这是要干嘛,存储过程到底叫哪个呢。改成 create or replace procedure pk_lyy_orgupdate sjhz set WSYL1=WSYL1 where DWDM=DWDM; 这里有歧义,变量名和字段名要区分开下面的select * from sjhz 会报错 在存储过程中执行查询没有意义,也是不符合语法的,去掉
oracle 中纯粹的 select 语句不能单独使用,另外, update sjhz set WSYL1=WSYL1 where DWDM=DWDM; 这个语句,会不起作用,你的变量名字和列名一样了。
update sjhz set WSYL1=WSYL1 where DWDM=DWDM; 上个月我正好碰到这个问题,字段名和变量名不要同名,大小写不一样也不要,不然这等式相当于1=1,永远为true。 select * from sjhz 如果你可在存储过程中查询,你要定义游标,将查到的结果存到游标中,再在你的程序中显示。直接在存储过程中查询是看不到任何结果的。
is
// 存储过程
procedure pk_lyy_org这是要干嘛,存储过程到底叫哪个呢。改成 create or replace
procedure pk_lyy_orgupdate sjhz set WSYL1=WSYL1 where DWDM=DWDM;
这里有歧义,变量名和字段名要区分开下面的select * from sjhz 会报错
在存储过程中执行查询没有意义,也是不符合语法的,去掉
上个月我正好碰到这个问题,字段名和变量名不要同名,大小写不一样也不要,不然这等式相当于1=1,永远为true。
select * from sjhz
如果你可在存储过程中查询,你要定义游标,将查到的结果存到游标中,再在你的程序中显示。直接在存储过程中查询是看不到任何结果的。
2:你的update语句字段名和变量名同名,这是个恒等式,