我想把一些记录插入临时表,然后从临时表读取记录,返回结果集1、如何建立临时表?把语句写在str里面然后execute immediate str?
2、临时表有自增字段怎么写?可不可以不要sequence
在sql server是这么写
create table #result_table (id int identity(1,1),popno varchar(11) collate chinese_prc_ci_as,version int,approvestatus int)3、返回结果集oracle和sql server相比有什么要注意的地方吗?
2、临时表有自增字段怎么写?可不可以不要sequence
在sql server是这么写
create table #result_table (id int identity(1,1),popno varchar(11) collate chinese_prc_ci_as,version int,approvestatus int)3、返回结果集oracle和sql server相比有什么要注意的地方吗?
临时表也同时会在存储过程删掉的
建议先建临时表,然后在PROCEDURE里面直接调用.
ORACLE临时表有两种机制,ON DELETE COMMIT和ON PRESERVE COMMIT.你GOOGLE一下子.
>>
Execute Immediate 'create global temporary table TEMP( aa VARCHAR(30),bb NUMBER )On Commit PRESERVE Rows';
2、临时表有自增字段怎么写?可不可以不要sequence
在sql server是这么写
create table #result_table (id int identity(1,1),popno varchar(11) collate chinese_prc_ci_as,version int,approvestatus int)
>>
orcle中没有类似sqlserver的自增字段,你可以用rownum代替
3、返回结果集oracle和sql server相比有什么要注意的地方吗?
>>
需要定义一个动态游标
create or replace package aa
is
type cur is ref cursor;
procedure getaa( rst out cur );
end;
create or replace package body aa
is
procedure getaa( rst out cur )
is
begin
open rst for select * from table1;
end;
end;