2
私はpgsqlを使い慣れていません。私は、pgsqlの関数パラメータとしてテーブル名を使いたいだけです。テーブル名はPostgreSQLの関数パラメータ/ ERROR:カラム ".."は存在しません
CREATE OR REPLACE FUNCTION user_test_table_name_as_input (table_name text)
RETURNS VOID
LANGUAGE plpgsql
AS $$
DECLARE
i int;
BEGIN
FOR i IN EXECUTE 'SELECT DISTINCT category FROM' || quote_ident(table_name)
LOOP
RAISE NOTICE '%', i;
END LOOP;
END
$$
私はこの機能を使用しようと...
SELECT user_test_table_name_as_input (table_name);
...私はこのエラーを取得:
ERROR: column "table_name" does not exist
SQL state: 42703
私はTable name as a PostgreSQL function parameterなどの関連スレッドを読んで、しかし、他の提案されたソリューション(連結、フォーマット())、私のために、どちらも動作しません。何か案が?
ストアドプロシージャの呼び出しの引数として 'table_name'を試してください。 (引用符をテキストとして) –
ありがとう。私は関数を使用するときに引用符を忘れてしまったことに気付きました。 – dijea