Ich habe versucht, die folgenden Insert Auswahlabfrage mit LEFT JOIN mit einer Oracle-Datenbank zu schreiben:Einfügen wählen In 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 ;
Das gibt dem folgenden Fehler:
ORA-00904 : "NUM_ROWS" : invalid identifier
Die DDL einer Tabelle ist :
CREATE TABLE tables (name_tables VARCHAR2(60)
,tuple VARCHAR2(50),
taille_tuple VARCHAR2(50))
Was ist der Unterschied zwischen einer Oracle-Datenbank oder MySQL? Sie haben es getaggt sowohl – chiliNUT
Ihre Tabellenerstellungsanweisung zeigt, dass es keine Spalte namens 'num_rows' hat. Oder einen der anderen Spaltennamen in Ihrer 'Einfügung'. Haben Sie die Syntax der Insert einfach falsch verstanden? –
Hatte gerade einen DOH Moment – GurV