sql >> Databasteknik >  >> RDS >> Oracle

kör sträng som fråga i oracle

När du execute immediate , kommandot du kör ska inte ha ett semikolon i slutet; som är en kommandoseparator i SQL Developer (och SQL *Plus , och andra klienter), inte en del av själva SQL-satsen.

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

Detta visas i exempel för vanlig SQL . Men bara för att hjälpa dig att förvirra dig, om du använder PL/SQL inom dynamisk SQL, behöver du fortfarande semikolon som är lämpliga för PL/SQL själv - dock inte den exekverande / du skulle använda för att köra det direkt från en klient. Detta visas i andra exempel .




  1. Lagring av ID:n som kommaseparerade värden

  2. Vad är skillnaden mellan en användare och en roll?

  3. mysql auto_increment med 5?

  4. Siduppdatering istället för Ajax Load utan