【发布时间】:2016-08-24 09:59:46
【问题描述】:
我使用 ORACLE 10g 作为数据库。
考虑两个表:
1.) 以 A 列为主键的 ABC 和 rest 可以保存空值
2.) 以 W 列为主键的 XYZ 和 rest 可以保存空值
对等体的数据类型也相同
示例: A = W , B=X , C=Y , D=Z
相等表示数据类型相同
以下查询运行良好
INSERT INTO ABC(A ,B,C,D)
VALUES ('klm' , (SELECT X FROM XYX WHERE W ='SOME_VALUE') , 'Dsl' , 'rwz')
但是以下查询不起作用..如果有人可以帮助我吗?
INSERT INTO ABC(A,B,C,D)
VALUES ( (SELECT W, X , Y , Z FROM XYX WHERE W ='SOME_VALUE') )
注意:W 的值不在表 ABC 中。没有违反约束
错误报告:SQL 错误:ORA-00947:没有足够的值 00947. 00000 - “没有足够的值”
请解释一下??
插入 ABC(A,B,C,D) VALUES('123' , (SELECT X,Y,Z from XYZ where W = 'same_value')) 我需要解决这个通用问题
【问题讨论】: