質問編集履歴

3

微修正

2017/11/22 16:42

投稿

kanata_x2
kanata_x2

スコア11

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  sqlplusの引数は通常のコマンドと同じく空白文字で区切られるだけではなく、シングルクォーテーションの直後でも区切られてしまうのでしょうか。
24
24
 
25
- また、上記の例では区切られないように(通常通り、空白文字で区切るように)する方法はございますでしょうか。
25
+ また、区切られないように(通常通り、空白文字で区切るように)する方法はございますでしょうか。
26
26
 
27
27
 
28
28
 

2

追記

2017/11/22 16:42

投稿

kanata_x2
kanata_x2

スコア11

test CHANGED
File without changes
test CHANGED
@@ -23,3 +23,23 @@
23
23
  sqlplusの引数は通常のコマンドと同じく空白文字で区切られるだけではなく、シングルクォーテーションの直後でも区切られてしまうのでしょうか。
24
24
 
25
25
  また、上記の例では区切られないように(通常通り、空白文字で区切るように)する方法はございますでしょうか。
26
+
27
+
28
+
29
+ ## 追記
30
+
31
+
32
+
33
+ ```sql
34
+
35
+ 前略
36
+
37
+ WHERE
38
+
39
+ COLUMN1 IN (&1)
40
+
41
+ ```
42
+
43
+ 上記のSQL文で、「&1」にsqlplusの実行時引数から文字列を渡す(=動的に条件を指定する)ことが今回の目的になりますが、
44
+
45
+ このカラムはVARCHAR2(文字列)型のため、条件をシングルクォーテーションで囲む必要があります。そのため、「COLUMN1の値がaかb」としたい場合、`'a', 'b'`という文字列がそのまま&1にセットされなければ、構文エラーになってしまいます。

1

微修正

2017/11/22 16:40

投稿

kanata_x2
kanata_x2

スコア11

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- sqlplus の引数からSQLファイル(外部のSQL文)のIN句に複数の条件を渡したく、シェルスクリプトで以下のように記述しましたが、引数に指定した文字列が正しく渡されず、困っています。
1
+ sqlplus の引数からSQLファイル(外部のSQL文)のIN句に複数の条件を渡したく、シェルスクリプトで以下のように記述したのですが、引数に指定した文字列が正しく渡されず、困っています。
2
2
 
3
3
 
4
4