pl/pgsqlで変数が文字列として扱われてしまうのですがどうすればいいのでしょうか。
具体的には以下のような感じです。
CREATE OR REPLACE FUNCTION test_func() RETURNS VOID AS $$
DECLARE
test_val TEXT ;
ofs_num INTEGER := 0;
lmt_num INTEGER := 0;
t_name TEXT := 'schema1.table1';
BEGIN
SELECT INTO ret_val * FROM t_name OFFSET ofs_num LIMIT lmt_num;
END;
$$ LANGUAGE plpgsql;
上記のofs_numやlmt_numは変数として認識してくれるのですが
FROMに続く「t_name」が変数ではなくそのままの文字列として認識されてしまいます。
t_nameを変数として認識させる方法はありませんでしょうか。
教えていただけると助かりますm(_)m
No.1ベストアンサー
- 回答日時:
最新のバージョン9.2であっても、PL/pgSQL では SELECT INTO は使用できません。
(下記ページの注釈参照)http://www.postgresql.jp/document/9.2/html/sql-s …
したがって、SELECT INTO の様なことを行う場合は CREATE TABLE AS に書き直してやる必要が有ります。
また、PL/pgSQL 内で動的にSQLを生成して実行する場合は EXECUTE を使う必要性が有るようです。
http://www.postgresql.jp/document/9.2/html/plpgs …
例)
BEGIN
EXECUTE 'CREATE TABLE ret_val AS SELECT * FROM ' || t_name::regclass || ' OFFSET ' || ofs_num || ' LIMIT ' || lmt_num;
END;
お礼が遅くなってしまいすみませんでした。
かなり悩んでいた部分だったので本当に助かりました。
お教えいただいたとおりにしたところ期待通りの結果が得られました。
参考リンクも載せていただきありがとうございます。
ありがとうございました。m(_)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- PHP カラーミーショップのSmartyでの文字列抜き出し 2 2022/05/06 11:51
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルからのselectにおいて...
-
もうちょっと賢いSELECT文が書...
-
postgreSQLのint型は桁数指定が...
-
PostgressからMySQL(MariaDB)...
-
pl/pgsqlで変数の扱い
-
SQL文作成のお願い
-
異なるスキーマからデータを抽...
-
Viewにインデックスは張れ...
-
データを削除しても表領域の使...
-
特定のスキーマのテーブルを一...
-
Access レコードを追加できませ...
-
CLOB型へのINSERT
-
SQLでスキーマ名(所有者名)の...
-
ORA-00959: 表領域'****'は...
-
datapumpの実行方法について
-
表領域の使用率がもうすぐ100%
-
主キー以外の項目にNotNull制約...
-
DELETE文でFROM句を省略した場合
-
Data Pump で大量データインポ...
-
アナライズとインデックス作成...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgreSQLのint型は桁数指定が...
-
テーブルからのselectにおいて...
-
PostgressからMySQL(MariaDB)...
-
UNIQUEをつけたときのINDEXテー...
-
クエリアナライザのsp_helpコマ...
-
SQL SELECT文 別テーブルのレコ...
-
SQL文作成のお願い
-
3つのテーブルの処理について
-
全テーブルのデータの行数
-
SQLで検索結果の記事を表示したい
-
近い時間によるテーブル結合
-
PostgresSQL8.4でツリー上に取...
-
SELECT結果から重複行を除く方法
-
Perl DBI でSELECT ilikeの結果...
-
2つの異なるテーブルを和結合し...
-
賢いSQL文がわからない
-
チェックボックスから、データ...
-
Viewにインデックスは張れ...
-
データを削除しても表領域の使...
-
異なるスキーマからデータを抽...
おすすめ情報