当前位置:  首页  >  PHP教程  >  PHP 应用  >  常见问题

oracle创建存储过程两种方法

在做oracle存储过程时还是用sqlserver的语法写oracle过程,所以会出错,其它有很多不同,下面举一二个实例。

在做oracle存储过程时还是用sql server的语法写oracle过程,所以会出错,其它有很多不同,下面举一二个实例。

在做oracle存储过程时还是用sql server的语法写oracle过程,所以会出错,其它有很多不同,下面举一二个实例。

oracle创建存储过程两种方法

create or replace procedure getdefault is
begin

execute immediate ' create global temporary table deftemp(pid varchar2(5))on commit delete rows';
select * from deftemp;

end

//方法二
/*
下面来看个
1:创建临时表
2:往临时表中插入结果集
3:返回临时表的结果集
oracle存储过程创建的简单实例
*/

declare
create_str varchar2(100);
dept_row dept%rowtype;
begin
create_str := 'create global temporary table temp on commit preserve rows as select * from dept';
execute immediate create_str ;
execute immediate 'select * from temp where rownum=1' into dept_row ;
dbms_output.put_line(dept_row.deptno ||'+'||dept_row.dname||'+'||dept_row.loc);
end;


/*
在做oracle存储过程时还是用sql server的语法写oracle过程,所以会出错,其它有很多不同,下面举一二个实例。

1、每个语句结束后用;
2、DDL需要用execute immediate动态的sql执行
3、存储过程不支持直接select,需要用游标
*/

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有