You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

内部数据库为Oracle时,如何在OutSystems用Advanced SQL创建临时表?

在OutSystems Advanced SQL中为Oracle数据库创建临时表

可以在OutSystems的Advanced SQL组件中为Oracle数据库创建临时表,操作逻辑和Oracle原生语法一致,结合OutSystems组件特性,具体实现如下:

实现步骤

1. 选择Oracle临时表类型

Oracle临时表分两种,按需选择:

  • 会话级临时表:数据在整个会话周期内保留,会话结束自动清理
    CREATE GLOBAL TEMPORARY TABLE Temp_User (
        UserId NUMBER,
        UserName VARCHAR2(50)
    ) ON COMMIT PRESERVE ROWS;
    
  • 事务级临时表:数据在事务提交/回滚后自动清理
    CREATE GLOBAL TEMPORARY TABLE Temp_Order (
        OrderId NUMBER,
        OrderDate DATE
    ) ON COMMIT DELETE ROWS;
    

2. 在Advanced SQL中执行创建语句

打开OutSystems的Advanced SQL组件,将上述Oracle原生创建语句直接写入SQL编辑器即可。需注意:

  • 无需添加OutSystems实体前缀,直接使用Oracle原生语法
  • 确保执行该组件的数据库用户拥有CREATE TABLE权限(OutSystems默认数据库用户通常具备,权限不足时需联系DBA调整)

3. 操作临时表数据

创建完成后,可在同一份或后续的Advanced SQL中对临时表执行增删改查,示例:

-- 插入数据
INSERT INTO Temp_User (UserId, UserName) VALUES (1, 'John Doe');

-- 查询数据
SELECT UserId, UserName FROM Temp_User;

关键注意事项

  • 临时表仅对当前会话可见,不同OutSystems请求(会话)无法访问彼此的临时表数据
  • Oracle会自动管理临时表生命周期,无需手动删除;若需提前清理会话内数据,可执行TRUNCATE TABLE Temp_User;
  • 临时表命名建议以Temp_开头,避免与OutSystems平台内置表名冲突
  • 不要尝试将OutSystems实体与临时表进行自动关联查询,需通过显式字段匹配实现关联

内容的提问来源于stack exchange,提问作者David Schuler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:16:08