如何在DB2中存储一些SQL代码

时间:2018-04-13 20:57:50

标签: db2 db2-luw

我有一些SQL代码,它们基本上应用了一些转换,不带任何参数或者......这里是这个查询的一个例子

CREATE TABLE RESULT.R AS(
SELECT 
DISTINCT INVOICE, VOLUME, SUBCODE
FROM
(SELECT
    *
FROM
    Table 1
WHERE
    code= '1') AS TB
JOIN
(SELECT
    *
FROM
    Table2
WHERE 
    IND_STATUS_TYPE IS NULL
    AND
    type != 'Error' 
    AND
    STATUSCODE = '153'
)
ON
...

- 更新 -

此转换代码依赖于需要在其之前执行的其他几个转换,并创建Table 1Table 2。在db2中存储这些代码的最佳方法是什么,这样访问数据库的每个人都可以访问它并能够运行它

2 个答案:

答案 0 :(得分:1)

你想要一个视图。您可以从DB2 documentation here了解有关视图的更多信息。

  

视图提供了一种在一个或多个中查看数据的不同方式   表;它是结果表的命名规范。该   specification是每当视图运行时运行的SELECT语句   在SQL语句中引用。视图的列和行就像   一张桌子。所有视图都可以像表格一样用于数据检索。

答案 1 :(得分:0)

为什么不使用SQL PL存储过程在数据库中存储这样的逻辑? 存储过程可以根据您的选择(或多个结果集)返回结果集。

要调用逻辑,只需调用存储过程,然后您可以将该过程的EXECUTE授予特定角色或用户/组。

您还可以使用表函数来存储代码。

Db2知识中心以及样本目录树中的DB2 LUW安装文件夹中有大量SQL PL过程示例。