2017-07-04 2 views
1

私は後退の手段で機能にほとんど問題がありません。いくつかのヌル値を持つ多くの行を返すポストグルの関数

CREATE OR REPLACE FUNCTION test(
    x integer, 
    y character varying, 
    z character varying 
) 
RETURNS TABLE(x1 int, y1 varchar,n1 varchar,z1 varchar) AS 
$BODY$ 
BEGIN 
    RETURN QUERY 
SELECT x,y,null,z FROM example_tab    
END; 
$BODY$ 
    LANGUAGE plpgsql VOLATILE 
    COST 100 
    ROWS 1000; 

私はエラーを取るこの機能を実行します: 私は機能を持っている

Error: Returned type unknown does not match expected type character varying in column 3. 

SELECT * FROM test(694531020,'t'::varchar,'t'::varchar) 

私はこのクエリを実行し、この機能を実行する修正するために何をすべき?

+1

'example_tab'からのX、Y、ヌル:: varchar型、Zを選択し、タグからそれが動作 –

答えて

0

は、明示的のように、ヌルのためのデータ型を指定する必要があります

CREATE OR REPLACE FUNCTION test(
    x integer, 
    y character varying, 
    z character varying 
) 
RETURNS TABLE(x1 int, y1 varchar,n1 varchar,z1 varchar) AS 
$BODY$ 
BEGIN 
    RETURN QUERY 
SELECT x,y,null::varchar,z FROM example_tab    
END; 
$BODY$ 
    LANGUAGE plpgsql VOLATILE 
    COST 100 
    ROWS 1000; 
+0

おかげでMySQLとSQLサーバーを削除してください! – Piateczka18

関連する問題