AS400 SQL向现有表添加列的语法是什么?我还需要指定长字段名和短字段名。
(SQL -结构化查询语言) (DDL -数据定义语言:这是改变表结构或修改数据库设置的SQL )。
发布于 2015-09-09 11:49:51
若要添加新列:
ALTER TABLE mytable
ADD long_column_name FOR COLUMN shortname VARCHAR(21)
BEFORE existing_column_name;如果要在记录末尾添加列,则可以省略record子句。
大多数IBM商店也希望定义列文本描述和列标题。
LABEL ON COLUMN mytable.colname TEXT IS '50 char description goes here';
LABEL ON COLUMN mytable.colname IS 'Heading Line 1 Heading Line 2 Heading Line 3'; 其中列标题字符串包含最多3个部分,每个部分20个字符,允许标题显示3行高。
定义列文本描述的语句通过使用text关键字进行区分。
发布于 2015-09-08 14:57:19
ALTER TABLE Student ADD StaffId_Advisor FOR COLUMN Advisor VARCHAR(21)您将看到Advisor,而不是在sysibm.SQLColumns中看到一个名为sysibm.SQLColumns的字段。
下面是描述表的一些代码:
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表。为了避免混淆(并坚持1NF,我认为),我使用主键表的字段名来命名字段,后面跟着字段的用途。这将确保其他开发人员理解该字段的使用。除了单一用途值之外,我认为1NF还需要对字段进行唯一的命名,而且在任何使用该字段的地方,名称都应该是相同的。虽然这是一个隐含的定义,但我认为这应该是一个重要的区别。在这种情况下,使用修饰符来澄清字段的用途。
https://stackoverflow.com/questions/32461074
复制相似问题