7

私はこの関数をトリガーで使用しています:

CREATE OR REPLACE FUNCTION xx() RETURNS trigger AS $xx$
    BEGIN   
        INSERT INTO my_log (x, y, z) VALUES (NEW.x, NEW.y, current_setting('myvar.user'));
        RETURN NULL;
    END;
$xx$ LANGUAGE plpgsql;

ここで、「myvar.user」が有効な整数であるかどうかを確認し、有効でない場合は、別のINSERTステートメントを実行します。

どうすればいいですか?

4

2 に答える 2

13
SELECT  current_setting('myvar.user') ~ '^[0-9]+$'
于 2009-09-09T12:17:37.667 に答える
3

archives.postgresql.orgから取得:

CREATE FUNCTION isnumeric(text) RETURNS boolean AS '
SELECT $1 ~ ''^[0-9]+$''
' LANGUAGE 'sql';
于 2009-09-09T12:16:48.223 に答える