我没有太多运气。我正在创建一个新表并添加具有默认值的列 - 该表将列数据类型默认为CHAR 7,但最后一列需要为CHAR 30.
到目前为止,我只能在创建后修改表格,但必须有一种方法可以一步完成。
CREATE TABLE table1 parallel 8 NOLOGGING AS
SELECT
t2.1,
t2.2,
t2.3,
'N' AS Store,
'N' AS Address,
'N' AS Owner,
'N' AS User,
'N' AS Business,
'Unknown' AS Source
FROM t2
最后一列(Source)值超过7个字符,但所有其他值都是Y / N.我的第一个想法是做'未知'AS Source(char 30),但我继续得到ORA-00923
非常感谢任何帮助。
答案 0 :(得分:3)
如果它需要是CHAR(30),你应该确保它是。用空格填充它不一定是正确的方法;最好告诉数据库你想要它使用CAST()函数,它在数据类型之间进行转换:
cast('Unknown' as char(30)) as source