Oracle变量select

Oracle中这样写不行吗,小弟刚学Oracle,我想得到这个select结果,条件用变量,请大侠们多多指点declaresnovarchar2(1000):=1234;... Oracle中这样写不行吗,小弟刚学Oracle,我想得到这个select结果,条件用变量,请大侠们多多指点
declare
sno varchar2(1000):=1234;
begin
select * from proddta.student where ildoco=sno;
end;
展开
 我来答
micro0369
2014-09-12 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4093万
展开全部

这明显就是用过sqlserver的人写出来的代码。


oracle中,在pl/sql 代码段或者存储过程中,不能直接将结果输出。


可以用  变量 先接收结果, 再把结果 打印出来(如果是存储过程,可以用 out 变量返回)


假设ildoco唯一

declare sno varchar2(1000):=1234; 
aaa proddta.student%rowtype;
begin   
   select * into aaa from proddta.student where ildoco=sno;
  dbms_output.put_line(aaa.ildoco);
  dbms_output.put_line(aaa.xxx);
end;
追问
但是我的select结果不是一条数据,是有很多条,怎么才能将这个结果显示出来
追答

循环,示例如下:


declare 
sno varchar2(1000):=1234; 
cursor cur_a is select * from proddta.student where ildoco=sno;
aaa proddta.student%rowtype;
begin   
   fetch cur_a into aaa;
   loop 
      exit when sql%notfound;
    
     dbms_output.put(aaa.ildoco);
     dbms_output.put('   ');
     dbms_output.put_line(aaa.xxx); 
     dbms_output.put('   ');
     dbms_output.put_line(aaa.yyy); 
     ...
      dbms_output.put_line('   ');
     
      fetch cur_a into aaa;
   end loop;
end;
主题uoZS29SZ96
2014-09-12 · 超过59用户采纳过TA的回答
知道答主
回答量:201
采纳率:0%
帮助的人:143万
展开全部
select u_status into STATUS from T where id=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式