你 SELECT 之后干吗要加个单引号? 你这样写的话 会把这个字段当成
一个固定字符串
sql_stat:=' select fieldstr from FROM CW_XMZM A
WHERE FXMDM=:1
AND FKMDM=:2
AND FYEAR2=2002 ';
EXECUTE IMMEDIATE sql_stat using '000001','102' into curyetemp;
你在试试吧
一个固定字符串
sql_stat:=' select fieldstr from FROM CW_XMZM A
WHERE FXMDM=:1
AND FKMDM=:2
AND FYEAR2=2002 ';
EXECUTE IMMEDIATE sql_stat using '000001','102' into curyetemp;
你在试试吧
解决方案 »
- 菜鸟求解如下语句的意思
- oracle 9i数据完全同步?两边的环境是一样的。
- oracle 中where条件能不能用IF
- oralce服务器系统崩溃问题?
- 请教一个default的问题
- 在pl/sql,oracle9i,下获取java类的返回值问题
- 我实在不明白,为什么,求高手指点啊
- 哪有oracle 9i好的资料呀???能下载的
- oralce9i 装不上去 ?? 急!!!
- csdn 怎么老是服务器繁忙?现在都夜间快四点了,竟然还是这样!
- Is there any limitation of datafile size and tablespace size in Oracle8.0.5
- ORACLE安装文件为何不能执行???
另外注意异常。
选出记录大于1,或者没有数据
delcare
sql_stat varchar(200);
str varchar(100);
begin
sql_stat:=' select fieldstr from FROM CW_XMZM A into :1
WHERE FXMDM=:2
AND FKMDM=:3
AND FYEAR2=2002 ';
EXECUTE IMMEDIATE sql_stat using out str, '000001','102';
end;
delcare
sql_stat varchar(200);
str varchar(100);
begin
sql_stat:=' select fieldstr into :1 from FROM CW_XMZM A
WHERE FXMDM=:2
AND FKMDM=:3
AND FYEAR2=2002 ';
EXECUTE IMMEDIATE sql_stat using out str, '000001','102';
end;
不对啊, 我用以下的句子
sql_stat :='select A.FM2.CurYE into :1 FROM CW_XMZM A WHERE FXMDM=:2 AND FKMDM=:3 AND FYEAR2=2002 ';
EXECUTE IMMEDIATE sql_stat using out curyetemp,'000001','102';
说一个无效的主机/赋值变量名:
怎么搞的呢?
WHERE FXMDM=:1
AND FKMDM=:2
AND FYEAR2=2002 ';
EXECUTE IMMEDIATE sql_stat into curyetemp using '000001','102' ;
我说的第二种方式应该:
sql_stat :='begin
select A.FM2.CurYE into :1 FROM CW_XMZM A WHERE FXMDM=:2 AND FKMDM=:3 AND FYEAR2=2002;
end ';
EXECUTE IMMEDIATE sql_stat using out curyetemp,'000001','102';sql_stat需要是begin..end的块。