sql >> Database >  >> RDS >> Oracle

voer string uit als query in oracle

Wanneer u execute immediate , het commando dat je uitvoert mag geen puntkomma aan het einde hebben; dat is een opdrachtscheidingsteken in SQL Developer (en SQL *Plus , en andere clients), die geen deel uitmaken van de SQL-instructie zelf.

SELECT 'CREATE SEQUENCE ID_SEQ MINVALUE 1 MAXVALUE 9999999999 START WITH '
    || (max(ID)+1) || ' INCREMENT BY 1 CACHE 20' INTO y FROM TEST_TABLE;

Dit wordt getoond in de voorbeelden voor gewone SQL . Om je echter te helpen verwarren, als je PL/SQL gebruikt binnen de dynamische SQL, heb je nog steeds puntkomma's nodig die geschikt zijn voor PL/SQL zelf - hoewel niet de uitvoerende / u zou gebruiken om het rechtstreeks vanaf een client uit te voeren. Dit wordt getoond in andere voorbeelden .




  1. Voorbeeld van Oracle FOR LOOP SELECT-instructie

  2. Hoe ASIN() werkt in MariaDB

  3. Fout bij het hernoemen van kolommen met spatie in Oracle-tabel. Fout - SQL-fout:ORA- 00946:zoekwoord TO ontbreekt

  4. Is er een manier om Oracle te dwingen het plan van een query te wijzigen zonder hints te gebruiken?