【问题标题】:Create temporary TABLE inside a FUNCTION [duplicate]在 FUNCTION 中创建临时表 [重复]
【发布时间】:2013-02-12 08:13:35
【问题描述】:

如何创建一个临时表,以便在调用函数时返回?

【问题讨论】:

  • @user2001117:查看标签
  • Oracle 中的临时表不应该(需要)动态创建;它们是具有会话特定数据的永久对象,而不是您可以传递或返回的东西。请参阅thisthis 了解更多信息。
  • 这是一种 MS T-SQL 做事方式。 Oracle中的临时表不同;要了解更多信息,请在此处查看我对非常相似问题的回答 stackoverflow.com/a/1193443/146325
  • 如果没有更多信息,我不确定这个问题有多大用处。这个临时表有什么意义?你到底想达到什么目的?这是一个全局临时表,还是您正在尝试创建一个“类似表”的输出,其中您想要获取的是流水线函数或引用游标?

标签: oracle function plsql temp-tables


【解决方案1】:

看到这个:

create or replace procedure maketemptab 
    is 
    sqlstmt varchar2(500); 
    begin 
    sqlstmt := 'CREATE GLOBAL TEMPORARY TABLE(col1 varchar2(10))'; 
    execute immediate sqlstmt; 
    end;

【讨论】:

  • 那不会创建临时表。
  • 不仅不会创建表(存在 sybtax 错误),以这种方式创建临时表对于 Oracle 来说是惯用的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-19
  • 2019-12-07
  • 2019-01-22
相关资源
最近更新 更多