1. 首先要理解: regclass是oid的别名,postgresql自动的为每一个系统表都建立了一个OId,其中有一个系统表叫做:pg_class,这个表里记录了数据表、索引(仍然需要参阅pg_index)、序列、视图、复合类型和一些特殊关系类型的元数据。注意:不是所有字段对所有对象类型都有意义。官方的解释如下:
    pg_class的详细内容
  2. 来看一个例子:
    SELECT * FROM pg_attribute WHERE attrelid = ‘mytable’::regclass;
    而不用
    SELECT * FROM pg_attribute
    WHERE attrelid = (SELECT oid FROM pg_class WHERE relname = ‘mytable’);
    可以看出:其实, 这个“’mytable’::regclass”的作用就是等同于:select oid from pg_class where relname=’mytable’; 返回的是一个oid,所以叫做oid的别名。
  3. 再看一个例子:
    rancs=> select oid,relname,reltuples from pg_class where oid=’test_1’::regclass;
    oid | relname | reltuples
    结果:
    ——-+———+———–
    16416 | test_1 | 6
    备注: ‘test_1’::regclass 这里将表名转换成表的 oid
    4.相同用法的其他几个oid别名:
    regproc,regprocedure,regoper, regoperator,regclass,和 regtype。下表显示了概要。

    其他别名

详细内容参考官方文档: http://www.php100.com/manual/PostgreSQL8/datatype-oid.html

首先要理解: regclass是oid的别名,postgresql自动的为每一个系统表都建立了一个OId,其中有一个系统表叫做:pg_class,这个表里记录了数据表、索引(仍然需要参阅pg_index)、序列、视图、复合类型和一些特殊关系类型的元数据。注意:不是所有字段对所有对象类型都有意义。官方的解释如下: 来看一个例子: SELECT * FROM pg_attribute WHER
一,基础知识 oid用来在整个数据集簇中唯一标识一个数据库对象,对象可以是数据库、表、索引、视图、元组等等。 对于pg中的对象来说,oid与表名存在对象关系,这个关系我们可以从pg_ class 中得到。 二关于reg class reg class 是一种数据类型,它实际上是oid的别名。相当于是oid和对象名之间的双向符号,既可以把oid翻译成表名,也可以把表名翻译成oid 通过使用::reg class , 我们就不需要通过查询pg_ class 表来获取对象与oid的对应关系了。 ------把oid翻译成表
1.使用to_reg class 函数(首选方法)速度最快,9.4或更高版本首选这个函数if( to_reg class ('test') is null ) then end if;或包含架构if( to_reg class ('public.test') is null ) then /*你的代码*/ end if;2.使用pg_ class 系统表if( (select 1 from pg_cl
postgresql 不同于mysql数据库,mysql建表时通过auto_increment关键字就可以实现主键自增, 但 postgresql 是通过序列和函数实现主键自动生成。 1、主键自增长 方法一:定义序列,再定义主键调用增长函数实现 CREATE SEQUENCE "public"."t_student_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9999999999 START 1 CACHE 1;
在Navicat 工具中设置 postGreSql 表字段自增 提示:我们在设计表结构的过程中,有的时候不太愿意用sql的语法来创建表结构,而是在navicat中直接用新建的方式来创建表结构,但是发现在 Navicat 15 for PostgreSQL 中,并没有设置主键自增的选项,如下图: 文章核心:我们要在已经有的表结构中去创建id为主键自增 一、示例表创建语法: CREATE TABLE "public"."baj_test" ( "id" int4 NOT NULL, "name" va
最后加上group a.id [code=php] SELECT `a`.`id` FROM `app_user` `a` LEFT JOIN `app_company_user` `b` ON `b`.`user_id`=`a`.`id` LEFT JOIN `app_company` `c` ON `c`.`id`=`b`.`company_id` LEFT JOIN `app_user` `d` ON `a`.`parent_id`=`d`.`id` WHERE `a`.`role` = '3' AND `a`.`call_type_id` = '8' GROUP BY `a`.`id` ORDER BY `a`.`id` DESC ; [/code] [Git高级教程(二)] 远程仓库版本回退方法 软萌切黑: 如果是第8节,我选择修掉这个bug,然后提交 表情包 浅析ER图与UML图的区别 及锋而试: 你写的xx啊你自己能看懂? left join查询可能出现重复数据 (主表中一条变两条) weixin_44143718: