之前一直都是用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 右键测试就好了 执行查询结果 在输出游标变量里面
时间: 2024-10-18 01:41:48