2017-06-06 10 views
2

複雑なクエリからビューを作成するときに、SQLクエリ内に追加するコメントを保持する必要があります。これは、ビューの定義をより簡単に戻すためです。 pgAdminIII内で、ビューを作成してビュー定義を参照すると、コメントが削除され、インデントが完全に改訂されます。この動作を変更する方法はありますか?PostgreSQLでビュー定義内にコメントを残すには?

ビューの作成:作成後

CREATE OR REPLACE VIEW public.v_test AS 

-- Count number of null lines within table 'test' 
(SELECT * FROM public.test WHERE client IS NULL); 

ビュー定義、pgAdminIIIに表示されているように:助けを

-- View: v_test 

-- DROP VIEW v_test; 

CREATE OR REPLACE VIEW v_test AS 
SELECT test.gid, 
    test.client 
    FROM test 
    WHERE test.client IS NULL; 

ALTER TABLE v_test 
    OWNER TO postgres; 

ありがとう!

答えて

2

いいえ、Postgresは、ビューを解析木として保存するので、空白やコメントは記憶されません。

実際にが必要な場合は、functionsはコメントを記憶できます。

+0

おかげcommentコマンドを使用してください!私はこれがこのように起こったのかと疑問に思いました...私はすでに 'COMMENT ON ...'ステートメントを知っていますが、コード内にコメントを残しません。とにかく、私はこの解決策で仕事をします。 – wiltomap

2

Postgresには、ビュー定義はそのままで、が格納されていないため、このようにコメントを保存することはできません。あなたはPgAdmin3でコメントを見ることができます

create view my_view as select 1; 
comment on view my_view is 'It is my view'; 

select obj_description('my_view'::regclass); 

obj_description 
----------------- 
It is my view 
(1 row) 

:@Josephリーと@klinへ

-- View: public.my_view 

-- DROP VIEW public.my_view; 

CREATE OR REPLACE VIEW public.my_view AS 
SELECT 1; 

ALTER TABLE public.my_view 
    OWNER TO postgres; 
COMMENT ON VIEW public.my_view 
    IS 'it is my view'; 
関連する問題