oracle过程中查询语句where条件中带变量怎么实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle过程中查询语句where条件中带变量怎么实现?相关的知识,希望对你有一定的参考价值。
DECLARE
v_a VARCHAR2(20) := 'sal';
v_info VARCHAR2(20) := 'CLERK';
v_sql VARCHAR2(200);
TYPE tab_org_name IS TABLE OF VARCHAR2(50);
v_org_name_tab tab_org_name;
BEGIN
v_sql := 'SELECT '|| v_a ||' FROM emp WHERE emp.JOB = v_info ;
dbms_output.put_line(v_sql);
EXECUTE IMMEDIATE v_sql BULK COLLECT INTO v_org_name_tab;
FOR i IN 1 .. v_org_name_tab.count LOOP
dbms_output.put_line(v_org_name_tab(i));
END LOOP;
END;
SELECT * FROM DUAL WHERE BITAND(1, 1) = &1
&1在执行的时候会提示你输入参数。如果有多个参数就&2,&3..... 参考技术B v_sql := 'SELECT '|| v_a ||' FROM emp WHERE emp.JOB = v_info ;
不会报错么?
v_sql := 'SELECT '|| v_a ||' FROM emp WHERE emp.JOB ='|| v_info ;v_info就变量,只不过你这里是一开始就给定了值。 你可以写成procedure来接收一个参数就可以了。
不知道你什么意思
oracle declare语句中,怎么才能定义一个变量来作为查询条件,代码如下:
begin
declare t varchar2(20);
begin
t := '13783697123';
select * from CRBT_PERSON_OPEN_CANCEL_RESULT where USER_TEL_NO=t;
end;
end;
这个代码在TOAD中提示查询时缺少INTO语句,那我应该怎么写呢
能不能给举个列子!谢谢
1.把查询结果存到变量中,写成select ** into ** from ** where **=**;的形式。
2.如果是select没有into那得用动态语句来执行才可以的,否则不行.
把select变为游标,就行了。本回答被提问者采纳
以上是关于oracle过程中查询语句where条件中带变量怎么实现?的主要内容,如果未能解决你的问题,请参考以下文章
如何优化Oracle在where条件中用了自定义函数的SQL语句
oracle SQL查询中,如何在where中用条件语句,判断不同情况,追加不同的And条件?