0

関数を作成したい:

 CREATE OR REPLACE FUNCTION medibv.delAuto(tableName nvarchar(50), columnName nvarchar(100),value 
 nvarchar(100))
 RETURNS void AS

$BODY$ 
begin 
DELETE from tableName  where columnName=value 

end; 
$BODY$

LANGUAGE plpgsql VOLATILE;

私はこれらのパラメータを持っています: tableName, columnName, value.
tableNameはPostgreSQLのテーブルとして欲しい。

4

2 に答える 2

1

EXECUTEを使用して動的コマンドを実行します。

CREATE OR REPLACE FUNCTION medibv.delAuto(tableName nvarchar(50), columnName nvarchar(100),value 
 nvarchar(100))
 RETURNS void AS

$BODY$ 
begin 
EXECUTE 'DELETE FROM ' || tableName || ' WHERE ' || columnName || '=' || value; 

end; 
$BODY$

LANGUAGE plpgsql VOLATILE;
于 2013-04-16T05:21:38.947 に答える