请教动态的查询(查询条件不确定)

jaysonchou 2008-05-08 05:18:10
例如:

在procedure中,期望

select * from table where abc = efg;

abc 和 efg 都是procedure传进来的参数,就是说column和value都不确定,
这个怎么去实现?

期待达人能给具体讲讲.
感激不尽

/bow
...全文
65 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jaysonchou 2008-05-09
  • 打赏
  • 举报
回复
谢谢,楼上,想问如果用dbms_sql实现,并且察看是否返回的有结果应当怎么去作?
chunyu.wu 2008-05-08
  • 打赏
  • 举报
回复
CREATE OR REPLACE PROCEDURE WUCYTEST(
a VARCHAR2 DEFAULT NULL
,b VARCHAR2 DEFAULT NULL
)
IS
stmt_sql VARCHAR2(2048) DEFAULT NULL;
TYPE count_type IS REF CURSOR;
count_cur count_type;
db_num VARCHAR2(20);
BEGIN
stmt_sql := ' SELECT ENAME ';
stmt_sql := stmt_sql || ' FROM SCOTT.EMP ';
stmt_sql := stmt_sql || ' WHERE '||a||' = '||b||' ';

OPEN count_cur FOR stmt_sql;
LOOP
FETCH count_cur
INTO db_num;
EXIT WHEN count_cur%NOTFOUND;
END LOOP;
CLOSE count_cur;
DBMS_OUTPUT.put_line(db_num);

END WUCYTEST;

当输入参数a=EMPNO,b=7788时,
结果为:SCOTT
yingtju 2008-05-08
  • 打赏
  • 举报
回复
sql :='select * from table where '||abc||' = '||efg;
execute immediate sql;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧