Du kan skicka ordet exit
till kommandoraden SQL*Plus. Till exempel, om demo.sql
består av detta:
prompt This is my demo script
Då kan du kalla det så här:
echo exit | sqlplus william/w @demo.sql
Utdata:
Y:\SQL>echo exit | sqlplus william/w @demo.sql
SQL*Plus: Release 12.2.0.1.0 Production on Sun Jan 13 10:47:13 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Last Successful login time: Sun Jan 13 2019 10:46:03 +00:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
This is my demo script
SQL> Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Y:\SQL>
Eller använd -s
(tyst) alternativ för att undertrycka banners etc:
Y:\SQL>echo exit | sqlplus -s william/w @demo.sql
This is my demo script
Y:\SQL>
Testad med SQL*Plus 12.2 på Windows 10.
(Från https://serverfault.com/q/87035/352734 - visar sig att det fungerar i både Windows och Linux.)
Du kan också titta på alternativ för att undvika att hantera användarnamn och lösenord t.ex. här:https://dba.stackexchange.com/a/109170/103604