AS400 SQL DDL将列添加到现有表的语法是什么?我还需要指定长字段和短字段名称。
(SQL - 结构化查询语言) (DDL - 数据定义语言:这是更改表结构或可以修改数据库设置的SQL)
答案 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还需要字段的唯一命名,并且在使用该字段的任何地方,名称应该相同。虽然这是一个隐含的定义,但我认为它应该是一个重要的区别。在这种情况下,使用修饰符来阐明该字段的用途。