关于安装脚本

安装脚本可以具有创建应用程序所需的所有 SQL 语句,也可以是运行其他脚本的主脚本

脚本是文件中以 .sql(例如 create_app.sql)结尾的一系列 SQL 语句。当在客户机程序(如 SQL*Plus 或 SQL Developer)中运行脚本时,SQL 语句将按照其在脚本中的显示顺序运行。SQL 语句创建应用程序的脚本称为安装脚本

要部署应用程序,需要在部署环境中运行一个或多个安装脚本。对于新应用程序,必须创建安装脚本。对于较旧的应用程序,安装脚本可能存在,但如果没有,您可以创建它们。

关于 DDL 语句和方案对象相关性

安装脚本包含用于创建方案对象的 DDL 语句,以及(可选)用于将数据加载到 DDL 语句创建的表中的 INSERT 语句。要正确创建安装脚本并按正确的顺序运行多个安装脚本,必须了解应用程序的方案对象之间的相关性。

如果对象 A 的定义引用对象 B,则 A 依赖 B。因此,在创建 A 之前必须先创建 B。否则,创建 B 的语句会失败或所创建的 B 处于无效状态,具体取决于对象类型。

对于复杂应用程序,创建对象的顺序很不明确。通常,您必须咨询数据库设计者或参阅设计图。

另请参见:

关于 INSERT 语句和约束条件

运行包含 INSERT 语句的安装脚本时,必须确定在部署环境中的新表中插入源表(在开发环境中)中的数据时是否可能违反约束条件。

对于应用程序中的每个源表,您必须确定在将其数据插入新表时是否可能违反任何约束条件。如果违反约束条件,则必须先禁用这些约束条件,然后插入数据,最后再尝试重新启用约束条件。如果某个数据项违反约束条件,则直到更正该数据项后才能重新启用该约束条件。

如果您严格按正确的顺序插入查找数据(如“加载数据”),则不会违反约束条件。因此,不需要先将其禁用。

如果要插入外部源 (如文件、电子表格或旧应用程序) 中的数据,或插入包含许多相关数据的表中的数据,则在插入数据之前,请先禁用约束条件。

可以通过以下方式禁用和重新启用约束条件: