oracle declare语句中,怎么才能定义一个变量来作为查询条件,代码如下:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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语句,那我应该怎么写呢
能不能给举个列子!谢谢

参考技术A 存储过程里面不支持这种直接查询的写法,这是SQL server 的用法,oracle不行,解决方法:

1.把查询结果存到变量中,写成select ** into ** from ** where **=**;的形式。

2.如果是select没有into那得用动态语句来执行才可以的,否则不行.
把select变为游标,就行了。本回答被提问者采纳

oracle 中动态sql语句,表名为变量,怎么解

  表名可用变量,但一般需要用到动态sql,举例如下:
  declare
  v_date varchar2(8);--定义日期变量
  v_sql varchar2(2000);--定义动态sql
  v_tablename varchar2(20);--定义动态表名
  begin
  select to_char(sysdate,\'yyyymmdd\') into v_date from dual;--取日期变量
  v_tablename := \'T_\'||v_date;--为动态表命名
  v_sql := \'create table \'||v_tablename||\'
  (id int,
  name varchar2(20))\';--为动态sql赋值
  dbms_output.put_line(v_sql);--打印sql语句
  execute immediate v_sql;--执行动态sql
  end;
  执行以后,就会生成以日期命名的表。
参考技术A 表名可用变量,但一般需要用到动态sql,举例如下: declare v_date varchar2(8);--定义日期变量 v_sql varchar2(2000);--定义动态sql v_tablename varchar2(20);--定义动态表名 begin select to_char(sysdate,'yyyymmdd') into

以上是关于oracle declare语句中,怎么才能定义一个变量来作为查询条件,代码如下:的主要内容,如果未能解决你的问题,请参考以下文章

oracle 中动态sql语句,表名为变量,怎么解

MS SQL语句declare游标的求助

查询oracle数据库时,如何定义变量进行查询

oracle 中字段作为变量的语句怎么写

oracle中declare begin end 这样的用法叫啥语句?它和直接写select那种语句有啥联系?

oracle中declare begin end 这样的用法叫啥语句?它和直接写select那种语句有啥联系?