求解答oracle使用变量

晨曦遇晓 2018-01-24 02:44:35
因为之前都是用的sqlserver来申明变量的 以前的语法如下:
DECLARE @PRSNL_NUM VARCHAR(20),
SET @PRSNL_NUM=?;
select * from table where personnum=@PRSNL_NUM

现在客户这边用的oracle,所以需要修改语句 但是查了很多貌似都是和存储过程一起使用的,想问下如果把上面sqlserver的申明变量改成oracle该怎么写?
...全文
467 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
差别蛮大的,你先看看oracle的语句块的写法。要些时间来理解
liu志坚 2018-01-24
  • 打赏
  • 举报
回复
引用 2 楼 u014508939 的回复:
V_r table1%TYPE; 想问下这个是什么意思?
存储过程或程序块里面 select 的结果要用into 放到一个变量里面,这种写法只能返回一条数据,返回多条会报错。 然后你读这个变量就可以看到select的结果了。
卖水果的net 2018-01-24
  • 打赏
  • 举报
回复
要返回一个结果集,可以考虑使用存储过程,如果不想使用存储过程可以使用动 态语句。

晨曦遇晓 2018-01-24
  • 打赏
  • 举报
回复
V_r table1%TYPE; 想问下这个是什么意思?
liu志坚 2018-01-24
  • 打赏
  • 举报
回复
declare PRSNL_NUM VARCHAR2(20); PRSNL_NUM:='1'; V_r table1%TYPE; begin select * into V_r from table1 where personnum=PRSNL_NUM; end; 百度查下oracle 存储过程就知道了~~

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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