54

SQL Plus を使用すると、次のように、コマンド ラインから "@" 演算子を使用してスクリプトを実行できます。

c:\>sqlplus username/password@databasename @"c:\my_script.sql"

しかし、個別のスクリプト ファイル全体を使用せずに、同様の構文で単一のコマンドを実行することは可能でしょうか? 次のように:

c:\>sqlplus username/password@databasename @execute some_procedure

2行の「.sql」ファイルを大量に生成せずに、コマンドを実行するだけのバッチファイルを書きたいので、これに興味があります。

4

6 に答える 6

74

SQL*Plus にパイプすることで、SQL クエリを実行できます。

@echo select count(*) from table; | sqlplus username/password@database

与える

@echo execute some_procedure | sqlplus username/password@databasename

試してみてください。

于 2009-03-12T16:15:18.630 に答える
10

UNIX (AIX) の場合:

export ORACLE_HOME=/oracleClient/app/oracle/product/version
export DBUSER=fooUser
export DBPASSWD=fooPW
export DBNAME=fooSchema 

echo "select * from someTable;" | $ORACLE_HOME/bin/sqlplus $DBUSER/$DBPASSWD@$DBNAME
于 2014-10-06T19:42:13.927 に答える
6
sqlplus user/password@sid < sqlfile.sql

これは、DOS コマンド ラインからも機能します。この場合、ファイル sqlfile.sql には、実行したい SQL が含まれています。

于 2013-11-19T20:56:41.363 に答える