關於安裝程序檔
安裝命令檔可以包含建立應用程式所需的所有 SQL 敘述句,也可以是執行其他命令檔的主要命令檔。
script 是檔案名稱結尾為 .sql (例如 create_app.sql) 之檔案中的一系列 SQL 敘述句。當您在從屬端程式 (例如 SQL*Plus 或 SQL Developer) 中執行命令檔時,SQL 敘述句會以它們在命令檔中的顯示順序執行。其 SQL 敘述句建立應用程式的命令檔稱為安裝命令檔。
若要部署應用程式,您需在部署環境中執行一或多個安裝指令碼。對於新的應用程式,您必須建立安裝程序檔。對於較舊的應用程式,安裝程序檔可能存在,但是如果不存在,您可以加以建立。
關於 DDL 敘述句和綱要物件相依性
安裝命令檔包含的 DDL 敘述句會建立綱要物件,以及選擇性地包含將資料載入 DDL 敘述句所建立表格的 INSERT 敘述句。若要正確地建立安裝命令檔,並以正確的順序執行多個安裝命令檔,您必須瞭解應用程式之綱要物件之間的相依性。
如果物件 A 的定義參照物件 B,則 A 相依於 B。因此,您必須在建立 A 之前先建立 B。否則,建立 B 的敘述句會失敗,或者將 B 建立為無效的狀態,視物件類型而定。
對於複雜應用程式,建立物件的順序很明顯。通常,您需要洽詢資料庫設計者或查看設計圖。
另請參閱:
-
Oracle Database Development Guide,瞭解綱要物件相依性的詳細資訊
關於 INSERT 敘述句和限制條件
當您執行包含 INSERT 敘述句的安裝命令檔時,您必須判斷當來源表格 (在開發環境中) 的資料插入建置環境中的新表格時,是否會違反限制條件。
對於您應用程式中的每個來源表格,您必須決定當資料插入新表格時,是否會違反任何限制條件。如果違反,必須先停用該限制條件,再插入資料,然後嘗試重新啟用限制條件。如果資料項目違反限制條件,您必須先更正資料項目,才能重新啟用該限制條件。
如果您只是以正確的順序插入查詢資料 (如載入資料中),則不會違反限制。因此,不需要先停用限制條件。
如果您從外部來源 (例如,檔案、試算表或舊版應用程式) 插入資料,或者從含有許多相依資料的多個表格插入資料,請在插入資料之前先停用限制條件。
您可以透過下列方式停用及重新啟用限制條件:
-
您可以使用 SQL Developer,逐一停用並重新啟用限制條件。
-
在「連接」框架中,選取適當的表格。
-
在標示表格名稱的窗格中,選取子頁籤限制條件。
-
在表格上的所有限制條件清單中,將
ENABLED變更為DISABLED(或反向)。
-
-
編輯安裝命令檔,新增停用並重新啟用每個限制條件的 SQL 敘述句。
-
使用可停用並重新啟用各個限制條件的 SQL 敘述句來建立 SQL 命令檔。
-
在「Oracle 資料庫」資料說明中尋找限制條件,並使用 SQL 敘述句來建立 SQL 命令檔,以停用和啟用各個限制條件。
例如,若要尋找並啟用 EVALUATIONS、PERFORMANCE_PARTS 及 SCORES 表格中「建立表格」使用的限制條件,請在「工作表」中輸入這些敘述句:
SELECT 'ALTER TABLE '|| TABLE_NAME || ' DISABLE CONSTRAINT '|| CONSTRAINT_NAME ||';' FROM user_constraints WHERE table_name IN ('EVALUATIONS','PERFORMANCE_PARTS','SCORES'); SELECT 'ALTER TABLE '|| TABLE_NAME || ' ENABLE CONSTRAINT '|| CONSTRAINT_NAME ||';' FROM user_constraints WHERE table_name IN ('EVALUATIONS','PERFORMANCE_PARTS','SCORES');另請參閱: