AS400 DDL SQL语法,用于添加具有短字段和长字段名称的新列

时间:2015-09-08 14:57:19

标签: sql db2 ibm-midrange alter

AS400 SQL DDL将列添加到现有表的语法是什么?我还需要指定长字段和短字段名称。

(SQL - 结构化查询语言) (DDL - 数据定义语言:这是更改表结构或可以修改数据库设置的SQL)

1 个答案:

答案 0 :(得分:1)

ALTER TABLE Student ADD StaffId_Advisor FOR COLUMN Advisor VARCHAR(21)

您不会在sysibm.SQLColumns中看到名为STAFF00001的字段,而是会看到Advisor。

这里有一些我用来描述表格的代码:

SELECT table_name, system_column_name, column_text, Type_Name, column_Size
FROM sysibm.SQLColumns
WHERE table_schem IN ('UWSP_TEST', 'UWSP_PROD') -- Library Name
AND upper(table_name) like 'STUDENT' -- Table name make sure it is upper case
--order by system_column_name

关于我使用的字段命名约定:StaffId_Advisor 假设我有一个名为Staff的表。在这个表中,我有一个名为StaffId的主键。 Staff表包含教授,助理,秘书,兼职教师,学生顾问,保安人员等等......学生可能有多个具有外键约束的字段和Staff表。为了避免混淆(并且在我看来遵守1NF),我使用主键表的字段名称命名字段,然后是字段的用途。这可以确保其他开发人员了解此字段的用法。除了单一目的值之外,我认为1NF还需要字段的唯一命名,并且在使用该字段的任何地方,名称应该相同。虽然这是一个隐含的定义,但我认为它应该是一个重要的区别。在这种情况下,使用修饰符来阐明该字段的用途。