使用oracle存储过程遇到的坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用oracle存储过程遇到的坑相关的知识,希望对你有一定的参考价值。

之前一直都是用sqlserver 突然用oracle  蛋疼的连存储过程执行一个查询都不会 各种百度锕  现在记录下面的语法问题

 

orcale创建一个存储过程的语法、

create or replace procedure (参数)
 
as
--声明变量
 
begin
--存储过程主题  
end;
 
存储过程一段结束都要使用“;”结尾
存储过程 ‘ 的转义为 两个‘‘  如where:=‘where isdelete=‘‘0‘‘‘;
存储过程执行一个查询语句
create or replace procedure (index out syssys_refcursor)
 
as
--声明变量
wheresql varchar(50);
sumsql varchar(50);
p1 int;
p2 int;
p3 int;
begin
wheresql:=‘select * from table‘;
--执行存储过程查询表记录
open index  for select * from table;
 
--执行带字符串sql语句
open index for wheresql;
 
--执行sql语句 并未变量赋值
select count(*) from table into p1;
--执行sql语句为多个变量赋值
select  count(*),sum(text) from table into p2,p3;
--执行字符串sql为变量赋值
sumsql:=‘select  count(*),sum(text) from table‘;
 
execute immediate sumsql into p2,p3;
end;

 调试存储过程 在管理工具Procedures 右键测试就好了   执行查询结果 在输出游标变量里面

以上是关于使用oracle存储过程遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章

如何用ffmpeg截取视频片段&截取时间不准确的坑

Oracle的坑,你是否踩过?----安装篇

从Oracle存储过程Oracle 11g发送邮件

将MS SQL SERVER 数据库导入到ORACLE的坑

解决安装Oracle 11g 遇到的坑

将字节数组传递给 oracle 存储过程