如何在postgres中声明用户定义类型的记录

时间:2017-08-18 07:50:52

标签: postgresql plpgsql record

我在Oracle中有一段代码,创建了一个Record类型的变量

  TYPE t_article IS RECORD (article_id sch.article.article_id%TYPE,
                            short_article_title sch.article.short_article_title%TYPE,
                            short_article_text  sch.article.short_article_text%TYPE,
                            pub_ts sch.article.pub_ts%TYPE,
                            paren_info VARCHAR2(500),
                            article_date        sch.article.article_date%TYPE);
        v_article_rec       t_article;

如何声明上述代码以在Postgres中创建用户定义的记录?

我尝试在Postgres中使用以下代码,

TYPE  v_article_rec as (article_id sch.article.article_id%TYPE,
                        short_article_title sch.article.short_article_title%TYPE,
                        short_article_text  sch.article.short_article_text%TYPE,
                        pub_ts sch.article.pub_ts%TYPE,
                        paren_info VARCHAR2(500),
                        article_date sch.article.article_date%TYPE);

但我收到语法错误。请帮助。

1 个答案:

答案 0 :(得分:0)

在postgres中,您只需声明记录 name RECORD

  

记录变量与行型变量类似,但它们没有预定义的结构。它们采用SELECT或FOR命令期间分配的行的实际行结构

Documentation