我试着写与LEFT下面插入选择查询的JOIN使用Oracle数据库:插入选择在ORACLE
insert into tables (TABLE_NAME,DATA_LENGTH,NUM_ROWS)
SELECT user_tables.TABLE_NAME
,SUM(ALL_TAB_COLUMNS.DATA_LENGTH)
,user_tables.NUM_ROWS
FROM user_tables
LEFT JOIN ALL_TAB_COLUMNS
ON user_tables.TABLE_NAME = ALL_TAB_COLUMNS.TABLE_NAME
WHERE OWNER= 'SYSTEM'
AND (user_tables.TABLE_NAME ='TIMELEVEL'
OR user_tables.TABLE_NAME ='CHANLEVEL'
OR user_tables.TABLE_NAME = 'CUSTLEVEL'
OR user_tables.TABLE_NAME = 'PRODLEVEL'
OR user_tables.TABLE_NAME = 'ACTVARS')
GROUP BY user_tables.TABLE_NAME ;
这给了下面的错误:
ORA-00904 : "NUM_ROWS" : invalid identifier
一个表的DDL是:
CREATE TABLE tables (name_tables VARCHAR2(60)
,tuple VARCHAR2(50),
taille_tuple VARCHAR2(50))
Oracle数据库或MySQL之间有什么区别?你有它标记两个 – chiliNUT
你的表创建语句显示它没有一个名为'num_rows'的列。或者你的'insert'中的其他列名称。你刚刚误解了插入语法吗? –
刚刚有一个DOH时刻 – GurV