sql >> Databasteknik >  >> RDS >> Oracle

Syntaxfel när du försöker infoga flera rader i SQL?

Jag skulle börja med att lista kolumner:

INSERT INTO CATEGORY (<colname1>, <colname2)
    VALUES ('BUS','BUSINESS'), ('CHN', 'CHILDREN'), ('COK', 'COOKING'), 
           ('COM', 'COMPUTER'), ('FAL', 'FAMILY LIFE'), ('FIT', 'FITNESS'), 
           ('SEH', 'SELF HELP'), ('LIT', 'LITERATURE');

Alla databaser stöder inte VALUES med flera rader. Så att kunde vara orsaken till ditt problem.

Om du använder, säg, Oracle som inte stöder detta, kan du använda UNION ALL :

INSERT INTO CATEGORY (<colname1>, <colname2)
    SELECT 'BUS', 'BUSINESS' FROM DUAL UNION ALL
    SELECT 'CHN', 'CHILDREN' FROM DUAL UNION ALL
    . . .
    SELECT 'LIT', 'LITERATURE' FROM DUAL;


  1. jQuery + PHP Autokomplettering

  2. Distinkt för CSV-värden som använder REGEXP_REPLACE i oracle

  3. går det snabbare att läsa från MySQL eller går det snabbare att läsa från en fil?

  4. Vad är motsvarigheten till 'beskriv tabell' i SQL Server?