2009-08-11 82 views
7

我在AS/400/iSeries/System-I/whatever-IBM-want-me-to-call-it-these-library中的庫中有一組文件,那些我沒有DDS的日子(在我收集的SQL中創建的),但我想添加字段說明。我找不到在400上做到這一點的方法。將字段描述添加到DB2/400文件

有誰知道我可以如何添加字段描述?是否直接更新SYSIBM.SQLCOLUMNS以設置COLUMN_TEXT安全?我不在這裏尋找一般的SQL答案,只有DB2/400的具體答案。不幸的是,考慮到IBM對這個平臺的重新設計以及他們選擇的非谷歌名稱,幾乎不可能找到答案(或者特別是證明沒有答案)這樣的問題沒有花費年齡看那裏大量,不可穿透的文件)

回答

13

使用LABEL SQL命令。如果您使用綠屏STRSQL命令,則可以提示它。 LABEL命令可用於設置列文本和列標題。

以下是使用LABEL命令爲名爲TESTFILE1的文件中的兩個字段提供列文本的示例。該字段名爲Field和FIELD2在這個例子:

LABEL ON COLUMN TESTFILE1 
(FIELD1 TEXT IS 'My Field 1 text', FIELD2 TEXT IS 'My Field 2 text') 

下面是使用LABEL命令給列標題的一個例子,將在查詢結果中顯示:

LABEL ON COLUMN TESTFILE1 
(FIELD1 IS 'My field   Heading 1', 
FIELD2 IS 'My field   Heading 2') 

當創建列標題,你會得到每個字段60個字符。前20個字符是行1,第二20個字符是第2行的第三20個字符是行3。在上述例子中,字段標題看起來像這樣:

My field  My field 
Heading 1 Heading 2
+0

你剛剛救了我的愛! – jlarson 2009-08-11 18:12:48

+0

順便說一句,你剛剛知道這一點,或者這是你擡頭的東西嗎?如果你擡起頭來,給我一個關於你的方法的線索,因爲我一直難以搜索as400的東西... – jlarson 2009-08-11 18:17:58

+0

這是一個混合。我瞥了一眼SQL命令參考目錄,看到了LABEL關鍵字,然後想起以前看過它。我第一次接觸到這個關鍵詞的時候,是我使用了一個從AS/400物理文件生成DDL並且生成的DDL包含了LABEL命令的API。我爲這個東西而去的第一個地方是iSeries信息中心。以下是V5R4版本的鏈接:http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp 有關詳細信息和示例,我剛進入STRSQL,創建了一個表,然後提示了一些LABEL命令。 – 2009-08-11 19:08:07

4

作爲一個附加的提示,則可以使用iSeries Navigator獲取該文件的SQL語句。如果啓動該程序,請登錄到iSeries,轉到數據庫,轉到模式,然後轉到表格,然後可以找到您的文件。您會在某處找到「生成SQL」按鈕。這將爲您創建一個確切的SQL語句來創建表。您可以使用此SQL語句來處理此表。

對於您的問題,從另一個答案「標籤」是足夠的。如果你想做更多的東西,這個答案是有用的,這是不能用ALTER完成的。