PL/SQL 语句块的运用。Oracle

qjm201000 发布于 2013/06/02 14:45
阅读 689
收藏 0

declare   --可选

begin --必有

exception --可选

end;    --必有

-- exception 是用作异常处理

这个declare可选什么意思?  我把declare删掉,他就显示错误。运行不了下面是我写的PL/SQL语句

declare

begin

    select password from t_user where name='a'; 

end;               //这句话编译错误?为什么?    我去掉declare也不行

加载中
0
小天
小天

declare在没有需要声明的变量等信息时是可以没有的,最少可以只有begin...end;

你可以修改为:

declare
v_pwd t_user.password%TYPE;
begin
  select password into v_pwd from t_user where name='a';
end;
0
MeiKai
MeiKai
这是规定,这里的declare表示声明,begin,end是语句块
q
qjm201000
我上面的语句块该怎么改?
0
excepiton
excepiton
如果没声明变量,直接begin end配对就可以了。如果要声明变量,那么就需要declare里面声明
q
qjm201000
我把declare删掉,运行时显示错误啊??为什么?
0
hulubo
hulubo

 select password  into 变量 from t_user where name='a'; 

需要定义变量存储select的结果集

q
qjm201000
不是说declare可选可不选嘛,那我把declare去掉怎么显示错误,该怎么改???
0
hulubo
hulubo

begin
null ;
end;
试试

StormFour
StormFour
回复 @qjm201000 : 把PLSQL语法好好看看吧,这种无知的问题就不要老追着人家问了
q
qjm201000
begin select password from aaa_user where username='a'; null; end; 这样吗?还是错误啊,报错是“缺少into语句”,为什么啊?
0
黄龍
黄龍

匿名块中不能直接使用select的

要不你就定义一个变量aaa,使用select password into aaa from table where username='a';(只能返回一条数据,多条会出错的)

要不就定义一个静态游标保存结果集!

返回顶部
顶部