在显示之前更新临时表?

时间:2014-02-10 13:05:30

标签: sql oracle-sqldeveloper

我想知道在显示查询之前如何更新临时表。这是为了避免对数据库进行永久性更改。

到目前为止,我得到了以下内容:

WITH
new_salary AS
(SELECT ID,NAME,DEPT_NAME,SALARY FROM INSTRUCTOR WHERE DEPT_NAME='Comp. Sci.')
SELECT
    *
FROM
  new_salary
WHERE
  DEPT_NAME='Comp. Sci.';

现在这里结束了。我想更新此临时表并显示该表的更新版本,以避免更改实际数据库。我使用UPDATE子句的所有尝试都失败了,所以我有点傻眼:/

我目前正在尝试做的这部分不是家庭作业的一部分。只是我不想一遍又一遍地重新做数据库。

我将如何做到这一点?

1 个答案:

答案 0 :(得分:0)

我猜你有两个选择:

  1. You make a procedure,首先检查是否需要更新表。在调用您执行查询后。
  2. 您创建了一个pipelined function,用于检查和返回数据。您可以将其集成到这样的选择中(称为pipelined_function_name的流水线函数名称):

    select *
    from   table(pipelined_function_name)
    ;