Jem*_*mru 1 oracle oracle11g oracle-sqldeveloper oracle-export-dump
我想生成创建脚本,将创建非常多的数据库视图.我知道如何在Oracle SQL Developer中使用菜单:工具>数据库导出.但是我遇到了导出创建视图脚本的问题.以下是问题.
问题#1创建视图的顺序不正确.在下面的示例中,首先在脚本中创建MY_VIEW_B,然后再依赖它MY_VIEW_A.如何生成正确依赖顺序的脚本?
CREATE OR REPLACE MY_VIEW_B ("COLUMN1", "COLUMN2") AS
SELECT "COLUMN1", "COLUMN2"
FROM MY_VIEW_A;
CREATE OR REPLACE MY_VIEW_A ("COLUMN1", "COLUMN2") AS
SELECT "COLUMN1", "COLUMN2"
FROM TABLE_A;
Run Code Online (Sandbox Code Playgroud)
问题#2分号";" 被转移到视图代码的最后一行,但问题是它是注释行.因此,当我执行脚本时会出现错误,因为没有关闭";" 分号,因为它被移动到注释所在的行.如何生成脚本以便我的视图代码的最后一行是";" 分号是不是自动转移到视图代码的最后一行的第二行,这是一个注释?
CREATE OR REPLACE MY_VIEW_C ("COLUMN1", "COLUMN2") AS
SELECT "COLUMN1", "COLUMN2"
FROM TABLE_B
--THIS IS A COMMENT;
CREATE OR REPLACE MY_VIEW_C ("COLUMN1", "COLUMN2") AS
SELECT "COLUMN1", "COLUMN2"
FROM TABLE_C;
Run Code Online (Sandbox Code Playgroud)
谢谢.
正如Oracle 在这里所说:
力
如果要创建视图,请指定FORCE,无论视图的基表或引用的对象类型是否存在,或者包含该视图的模式的所有者是否具有对它们的特权.在对视图发出任何SELECT,INSERT,UPDATE或DELETE语句之前,这些条件必须为true.
如果视图定义包含任何约束,则如果基表不存在或引用的对象类型不存在,则CREATE VIEW ... FORCE将失败.如果视图定义命名不存在的约束,则CREATE VIEW ... FORCE也将失败.
还检查Terminator并Pretty Print处理第二个问题;
经过测试 Oracle SQL Developer Version 4.1.3.20 Build MAIN-20.78
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |