找到 150 篇文章 適用於 DB2

DB2 對各種資料型別使用哪些預設值?

Mandalika
更新於 2020-09-14 14:21:06

969 次瀏覽

如果使用者未為列提供任何值,DB2 提供了一種在其中插入預設值的機制。對於每種 DB2 資料型別,都有一個固定的預設值,如果在插入時未提供該值,則該值將分配給列(在建立表期間使用“DEFAULT”引數定義)。下表給出了 CHAR、VARCHAR、TIMESTAMP 和 INTEGER 的 DB2 預設值。資料型別DB2 預設值CHAR空格Varchar長度為 0 的空字串TIMESTAMP當前時間戳INTEGER零

DB2 表中的 NULL 檢查和插入規則是什麼?

Mandalika
更新於 2020-09-14 14:06:49

481 次瀏覽

DB2 中的 Null 定義為空。它是一個未知值。如果我們想在任何列中限制 NULL 值,則應在 CREATE TABLE 中使用“NOT NULL”引數定義該列。“NOT NULL”將強制使用者為該列輸入值。但是,如果我們不想為該列提供任何值,我們也可以放置一個“WITH DEFAULT”引數,該引數將允許 DB2 在使用者未為“NOT NULL”列提供任何值的情況下放置預設值。例如,如果我們有一個名為 INVOICE_ID 的列 ... 閱讀更多

一個表引用另一個表的外部索引鍵的級聯規則是什麼?

Mandalika
更新於 2020-09-14 13:57:08

3K+ 次瀏覽

外部索引鍵用於在子表(其中列定義為外部索引鍵)和父表(其中子表的外部索引鍵成為主鍵)之間建立引用約束。例如,如果我們有一個 ORDER 表,其中外部索引鍵定義為 TRANSACTION_ID。此外部索引鍵將引用 TRANSACTIONS 表的 TRANSACTION_ID 列。在此 TRANSACTIONS 表中,TRANSACTION_ID 將是主鍵。這裡的父表是 TRANSACTIONS 表,而子表是 ORDERS 表。外部索引鍵的級聯規則規定,當任何條目 ... 閱讀更多

DB2 表中備用鍵的定義和用法是什麼?

Mandalika
更新於 2020-09-14 13:52:07

497 次瀏覽

DB2 表包含許多列,其值將在整個表中保持唯一。在這些多列中,只有一列被選為主鍵,其餘鍵被稱為候選鍵。我們可以將任何候選鍵宣告為備用鍵。這意味著此鍵的值不能取重複值,但是與主鍵不同,不會在備用鍵上構建主鍵索引。我們可以在使用 UNIQUE 關鍵字定義任何表時定義備用鍵。例如,如果我們想將 TRANSACTION_ID 作為備用鍵,則-CREATE TABLE ... 閱讀更多

SQLCA 中的 SQLWARN3 有什麼作用?透過一個實際例子解釋?

Mandalika
更新於 2020-09-14 13:40:22

231 次瀏覽

SQLCA 中的 SQLWARN3 欄位用於檢測結果列的數量大於 COBOL-DB2 程式查詢中給出的主機變數數量的情況。SQLWARN3 是一個 1 位元組欄位,當查詢返回的列數與使用的主機變數數不匹配時,它包含值“W”。我們可以使用 IF 或 EVALUATE 語句查詢 SQLWARN3 的狀態,如下例所示A010-CHECK-ORDER。EXEC SQL    SELECT ORDER_DATE,          ORDER_TOTAL      INTO :ORDER-DATE,       FROM ORDERS   ... 閱讀更多

如何截斷分配給主機變數時 DB2 列資料的截斷陷阱

Mandalika
更新於 2020-09-14 11:45:06

172 次瀏覽

在某些情況下,不使用 DCLGEN 成員,並且在工作儲存區部分顯式地完成主機變數宣告。但是,由於這些顯式宣告,存在人為錯誤的可能性。其中一個錯誤是宣告 COBOL 等效主機變數的錯誤資料長度。例如,主機變數應該宣告為 PIC X(24),但錯誤地宣告為 PIC X(14)。在這種情況下,當資料從 DB2 傳輸到 COBOL 程式時,由於接收主機變數的長度較短,列資料可能會被截斷。我們可以檢測 ... 閱讀更多

如果不包含 DCLGEN 成員,COBOL-DB2 程式的行為將如何?

Mandalika
更新於 2020-09-14 11:42:21

2K+ 次瀏覽

DCLGEN 成員包含兩組重要的資料。包含表中所有列定義的表結構。以等效的 COBOL 資料型別宣告主機變數。包含 DCLGEN 成員不是強制性的,除非我們在工作儲存區部分顯式地給出主機變數宣告。但始終建議包含 DCLGEN 成員,因為它還包含表結構,預編譯器可以使用該結構執行查詢列驗證。雖然預編譯器的查詢列驗證是可選的,但它可以在預編譯階段提供可能的錯誤 ... 閱讀更多

COBOL-DB2 程式中 SQLCA 內部的 SQLCODE 的用途和用法是什麼?

Mandalika
更新於 2020-09-14 11:24:41

2K+ 次瀏覽

SQLCA 的 SQLCODE 欄位用於獲取從 DB2 到 COBOL 程式的最後一個執行的 SQL 查詢的返回程式碼。以下是 SQLCODE 欄位可以採用的返回程式碼範圍及其意義。SQLCODE = 0 → 查詢成功執行,沒有任何問題。SQLCODE > 0 → 執行查詢時發出警告。SQLCODE < 0 → 執行查詢時發生錯誤。下面是演示 SQLCODE 用法的示例段落。A010-CHECK-ORDER。EXEC SQL    SELECT ORDER_DATE      INTO :ORDER-DATE,       FROM ORDERS     ... 閱讀更多

如果在 COBOL-DB2 程式中不包含 SQLCA 會發生什麼?

Mandalika
更新於 2020-09-14 11:18:22

1K+ 次瀏覽

SQLCA 有助於 DB2 和 COBOL-DB2 程式之間的通訊。SQLCA 具有多個欄位,這些欄位提供有關最後一個執行的 SQL 查詢的不同資訊。SQLCA 在 COBOL-DB2 程式中是必需的。但是,如果我們不使用 INCLUDE 語句給出 SQLCA,則程式編譯將失敗,並且我們將在日誌中收到以下錯誤:“SQLCA 未定義為資料名稱”

DB2 資料型別 CHAR、DATE、TIME 和 TIMESTAMP 的 COBOL 等效項是什麼?

Mandalika
更新於 2020-09-14 11:15:06

2K+ 次瀏覽

DATE、TIME 和 TIMESTAMP DB2 資料型別分別佔用 4、3 和 10 個位元組。CHAR 資料型別佔用的記憶體根據給定的大小佔用。下表顯示了 CHAR、DATE、TIME 和 TIMESTAMP 的等效 COBOL 資料型別。DB2 資料型別DB2 位元組COBOL 等效項COBOL 位元組CHAR(z)zPIC X(z)zDATE4PIC X(10)10TIME3PIC X(8)8TIMESTAMP10PIC X(26)26

廣告

© . All rights reserved.