你的cust_id要传给变量,所以,要into
select cust_id into &变量 from CUST_TEL WHERE CUST_TEL.cust_id=input;
select cust_id into &变量 from CUST_TEL WHERE CUST_TEL.cust_id=input;
解决方案 »
- ###########请教:计算机名字和工作组变了Oracle就进不去了(改回原名又可以进去),报错,如何解决啊????
- 有没有方法查看自定义的异常在哪个Trigger中?
- 应用UTL_FILE写入文件生成报表,中文字符乱码怎么解决啊??
- 连接查询然后报未明确定义列
- win2003 重新安装Oracle的问题
- 用pfile时:通信通道的文件结束?
- 给我给我来点ORACLE的在线教程,谢谢
- 数据库文件设置的问题?救命用?
- 如果一个表中存在long raw型的字段,能不能基于这个表建触发器
- 虚拟环境中plsql developer没法登录oracle数据库
- 如何把字符串分割后,放入一个数组中????
- 我是新来的,求解一个字符串处理的问题
return int as
PRAGMA AUTONOMOUS_TRANSACTION;
v_cust_id cust_tel.cust_id%type;
begin
select cust_id into v_cust_id from CUST_TEL WHERE CUST_TEL.cust_id=input;
return 1;
end;
难道你还想要用result=...方式得到结果吗?
就拿我的示例一样我只是SELECT一次,然后return 1;有何不可,但是系统偏说是错误。
return int as
begin
return 1;
end;
不就完事了,还要select语句干什么?
也就是说在PL/SQL里的函数中使用SELECT的语法就是要加INTO么,因为在交互模式下可以直接用SELECT返回数据。
FUNCTION "FUN_TESTZXL" (input in varchar2)
return int as
PRAGMA AUTONOMOUS_TRANSACTION;
begin
EXECUTE IMMEDIATE
'select cust_id from CUST_TEL WHERE CUST_TEL.cust_id='''||input||'''';
return 1;
end;即:将select当纯粹的SQL执行一下就可以了,但我不知道你这样做有什么作用?在检查语法么?
用cursor可以,执行sql文返回cursor,而且你可以只是执行对取得的内容不做任何处理