- PR -

バッチファイルからのSQL実行で教えてください

1
投稿者投稿内容
cyan
会議室デビュー日: 2006/07/20
投稿数: 12
投稿日時: 2007-01-30 22:58
バッチファイルからのSQL実行でTIMESTAMP型の値のupdateを実行すると、「timestampに値を入力してください」と値の入力を求められてしまいます。
プロンプトを表示せずに、SQLに指定した内容を反映させることは可能でしょうか?

[実行した内容]
test.bat
sqlplus -S xx/xx@orcl test.sql

test.sql
update table set date = to_timestamp('2007/01/01','YYYY/MM/DD') where ...;
commit;

よろしくお願い致します。
KOX
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 142
投稿日時: 2007-01-31 09:37
バッチ云々の問題ではないと思われます。
このSQLは普通に、SQLPLUSで実行して動くのですか?
cyan
会議室デビュー日: 2006/07/20
投稿数: 12
投稿日時: 2007-01-31 10:14
KOX様回答ありがとうございます。

引用:

KOXさんの書き込み (2007-01-31 09:37) より:
バッチ云々の問題ではないと思われます。
このSQLは普通に、SQLPLUSで実行して動くのですか?



SQLPLUSを起動し、実行すると値の入力を求められず実行できます。
SQL文のtable部分は実際のテーブル名を入れています。
SQLファイルの内容もSQLPLUSで実行した内容と全く同じ内容です。
このような状況で回避策が判らず困っています。

よろしくお願い致します。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2007-01-31 10:39
試してみましたけど、再現しませんでした。
まず
sqlplus -S xx/xx@orcl test.sql
ではなくて
sqlplus -S xx/xx@orcl @test.sql
ですよね?

あと、where句が気になります。
where句にtimestamp型の条件を指定しているのではないでしょうか?
cyan
会議室デビュー日: 2006/07/20
投稿数: 12
投稿日時: 2007-01-31 10:40
自己レスです。
KOX様に指摘頂いていた通り、SQLの内容が間違えていました。
お騒がせ致しました。
調査したつもりでしたが出来ていませんでした。
次回から質問する際は、もっとちゃんと調査した上で質問致します。

ありがとうございました。

引用:

KOXさんの書き込み (2007-01-31 09:37) より:
バッチ云々の問題ではないと思われます。
このSQLは普通に、SQLPLUSで実行して動くのですか?



1

スキルアップ/キャリアアップ(JOB@IT)