[pgsql-jp: 28153] 文字列内での文字列処理

Chie.M gontakun @ check.ne.jp
2002年 12月 2日 (月) 14:46:16 JST


お世話になっております。Chieです。

非常に間抜けな質問でお恥ずかしいのですが、
pgplsql内でSQL文を文字列処理する場合に、
さらにその中で文字列の条件を指定したい場合は、
どのように指定すればよろしいのでしょうか?

例えば、下記のようなSQLを処理する場合にです。
SELECT * FROM test_table1 WHERE t_data = 'abcde';

テーブル名と条件文を変数に入れて処理したいのですが
下記のWHERE句の変数test_dataの部分をSQL文内の文字列として
指定したいのです。

例 ------------------------------------------------
'
DECLARE
tbl_name1 varchar(20) := ''test_table1'';
test_data varchar(20) := ''abcde''
・・・
BEGIN
・・・
''SELECT * FROM '' || tbl_name1 || '' WHERE t_data = '' || test_data
;
・・・
END;
' LANGUAGE 'plpgsql'
 ------------------------------------------------

上記のSELECT文内のtest_dataの部分の記号の指定方法が違っている
のは判るのですが、文字列として指定する方法が判らないのです。
 ''SELECT * FROM '' || tbl_name1 || '' WHERE t_data = '' || test_data

どこかに書いてあるなど、ヒントでも結構ですので、よろしく
ご教授お願いいたします。

--環境-------
サーバ
 RedHat 7.3
 PostgreSQL 7.2.3
 Apache 1.3.27

クライアント
 Windows XP/Access 2002
 PostgreSQL ODBC Driver 07.01.0006 日本語版
--------------------
------------------------
From:Chie.M
 gontakun @ check.ne.jp
------------------------




pgsql-jp メーリングリストの案内