形如以下,在sql server 函数中允许出现DML,但是Oracle 不能使用的情况下该如何处理。
create function sfn_test()
returns @RowSet table
(stuid int,
stuname nvarchar(20),
score numeric
)
begin
insert @RowSet
select A.stuid,A.stuname,B.score from student A
inner join stuscore B on A.stuid = B.stuid
return
end除了以上的insert 情况还会出现更新临时表来处理一些业务数据。
create function sfn_test()
returns @RowSet table
(stuid int,
stuname nvarchar(20),
score numeric
)
begin
insert @RowSet
select A.stuid,A.stuname,B.score from student A
inner join stuscore B on A.stuid = B.stuid
return
end除了以上的insert 情况还会出现更新临时表来处理一些业务数据。
那个临时表在oracle过程中可以写成 索引表,嵌套表,结果集,看情况而定
你还可以在oracle使用动态sql,以解决不能执行的情况
代替你的@RowSet表变量