insert into select 要怎么用。报错显示ora-00947:没有足够的值

u010821061 2013-12-12 01:09:12

t.data_type ,
c.COMMENTS
FROM user_tab_columns t, user_col_comments c
WHERE t.table_name = c.table_name
AND t.column_name = c.column_name
AND t.table_name = 'HDSA0001'));






另外:SELECT t.table_name ,
t.column_name ,
t.data_type ,
c.COMMENTS
FROM user_tab_columns t, user_col_comments c
WHERE t.table_name = c.table_name
AND t.column_name = c.column_name
AND t.table_name = 'HDSA0001' 本身是没有问题的。可以查出来数据
...全文
923 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CT_LXL 2013-12-12
  • 打赏
  • 举报
回复
引用 4 楼 u010821061 的回复:
[quote=引用 1 楼 zlloct 的回复:] select 查询出来的值得个数和要INSERT的值得个数不匹配
引用 3 楼 u010192842 的回复:
seq_Health_Dictionary.nextval 这个是啥东西?

insert into Health_Dictionary(dictionary_id,belong_table_name,column_name,column_data_type,column_describe)

(SELECT  @@identity  as dictionary_id,

t.table_name as belong_table_name,
         t.column_name as column_name,
         t.data_type as column_data_type,
         c.COMMENTS as column_describe
  FROM   user_tab_columns t, user_col_comments c
 WHERE       t.table_name = c.table_name
         AND t.column_name = c.column_name
         AND t.table_name = 'HDSA0001')
seq_Health_Dictionary.nextval 是一个序列[/quote] 怀疑这个 @@identity 引起的,换成一个常量试一下吧
  • 打赏
  • 举报
回复
insert into table(cols1...) select cols2... from table2 where ... cols1 和 cols2的个数必须相同、
Yole 2013-12-12
  • 打赏
  • 举报
回复
那也要写到select 里面啊! 不然语法有问题!
u010821061 2013-12-12
  • 打赏
  • 举报
回复
引用 1 楼 zlloct 的回复:
select 查询出来的值得个数和要INSERT的值得个数不匹配
引用 3 楼 u010192842 的回复:
seq_Health_Dictionary.nextval 这个是啥东西?

insert into Health_Dictionary(dictionary_id,belong_table_name,column_name,column_data_type,column_describe)

(SELECT  @@identity  as dictionary_id,

t.table_name as belong_table_name,
         t.column_name as column_name,
         t.data_type as column_data_type,
         c.COMMENTS as column_describe
  FROM   user_tab_columns t, user_col_comments c
 WHERE       t.table_name = c.table_name
         AND t.column_name = c.column_name
         AND t.table_name = 'HDSA0001')
seq_Health_Dictionary.nextval 是一个序列
Yole 2013-12-12
  • 打赏
  • 举报
回复
seq_Health_Dictionary.nextval 这个是啥东西?

insert into Health_Dictionary(dictionary_id,belong_table_name,column_name,column_data_type,column_describe)

(SELECT  @@identity  as dictionary_id,

t.table_name as belong_table_name,
         t.column_name as column_name,
         t.data_type as column_data_type,
         c.COMMENTS as column_describe
  FROM   user_tab_columns t, user_col_comments c
 WHERE       t.table_name = c.table_name
         AND t.column_name = c.column_name
         AND t.table_name = 'HDSA0001')
u010821061 2013-12-12
  • 打赏
  • 举报
回复
是匹配的啊。后面查出来4条数据。一共5条数据
CT_LXL 2013-12-12
  • 打赏
  • 举报
回复
select 查询出来的值得个数和要INSERT的值得个数不匹配

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧