SELECT 表名 FROM 表名

SELECT 表名 FROM 表名,第1张

概述再次看到这段代码,想起来以前随口在QQ群里提过,突然感觉还是记录一下比较好,所以专门开辟新博客分类,我们来看看 PostgreSQL 代码中都隐藏着什么秘密。 假如我们发起一条语句: SELECT rolname FROM pg_authid; 会发生什么事呢?其中一个步骤是确定表中是否有rolname /* Try to identify as an unqualified column */

再次看到这段代码,想起来以前随口在QQ群里提过,突然感觉还是记录一下比较好,所以专门开辟新博客分类,我们来看看 Postgresql 代码中都隐藏着什么秘密


假如我们发起一条语句:

SELECTrolnameFROMpg_authID;

会发生什么事呢?其中一个步骤是确定表中是否有rolname

/*TrytoIDentifyasanunqualifIEdcolumn*/node=colnameToVar(pstate,colname,false,cref->location);if(node==NulL){...	/*	*Trytofindthenameasarelation.Notethatonly	*relationsalreadyenteredintotherangetablewillbe	*recognized.	*	*ThisisaHackforbackwardscompatibilitywith	*PostQUEL-inspiredSyntax.ThepreferredformNowis	*"rel.*".	*/	rte=refnameRangeTblEntry(pstate,NulL,cref->location,&levels_up);	if(rte)		node=transformWholeRowRef(pstate,rte,cref->location);

最后一段很奇怪,好在有说明,测试一下确实可用,但是这是我以前从来不知道的用法。

postgres=#SELECTpg_authIDFROMpg_authID;pg_authID-----------------------------(quanzl,t,-1,)(1row)postgres=#

粗略查看了一下 9.4.5 文档,似乎没有关于这个的说明,应该是一个废弃已久的用法。

Postgresql代码中隐藏着很多秘密,我要继续挖掘。

总结

以上是内存溢出为你收集整理的SELECT 表名 FROM 表名全部内容,希望文章能够帮你解决SELECT 表名 FROM 表名所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1175013.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存