千家信息网

PostgreSQL如何实现输入

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关PostgreSQL如何实现输入,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、输入标准PG对于zz_sysdate的反应是:test
千家信息网最后更新 2026年11月03日PostgreSQL如何实现输入

这篇文章将为大家详细讲解有关PostgreSQL如何实现输入,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、输入

标准PG对于zz_sysdate的反应是:

testdb=# select zz_sysdate from t1;ERROR:  column "zz_sysdate" does not existLINE 1: select zz_sysdate from t1;

报错,提示列不存在.

为了让PG可识别zz_sysdate,需改造词法和语法分析模块.
词法
涉及的文件包括scan.l,kwlist.h

scan.l:
词法文件,会把zz_sysdate识别为IDENT,该文件无需修改;

kwlist.h:
关键字列表,在最后添加一句:

PG_KEYWORD("zz_sysdate", ZZ_SYSDATE, RESERVED_KEYWORD)

RESERVED_KEYWORD表示保留关键字

语法
语法文件是gram.y,需添加ZZ_SYSDATE

//添加token,与词法分析中的ZZ_SYSDATE对应%token  ...... ZZ_SYSDATE//产生式reserved_keyword添加ZZ_SYSDATE//注:reserved_keyword是非终结符,ZZ_SYSDATE是终结符reserved_keyword:            ...            | ZZ_SYSDATE            ;//参照current_date,在func_expr_common_subexpr添加        ...        | ZZ_SYSDATE                {                    $$ = makeSQLValueFunction(SVFOP_ZZ_SYSDATE, -1, @1);                }

另外,为了识别SVFOP_ZZ_SYSDATE,在preproc.h的yytokentype枚举变量中添加

ZZ_SYSDATE = 793

经上述修改,现在PG可以识别zz_sysdate了,但执行会出错.

关于"PostgreSQL如何实现输入"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

文件 词法 输入 篇文章 语法 关键 关键字 更多 终结符 分析 不错 实用 内容 变量 文章 是非 标准 模块 知识 行会 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 喔噻互联网科技有限公司 北京路客互联网科技有限公司 美国互联网保险保险科技 A股互联网金融科技公司 互联网和科技创新 互联网科技财经 互联网女皇 腾讯科技 互联网科技公司做什么 镁科技互联网资讯平台 成都仁贤领冠互联网科技有限公司 互联网之后的科技是什么 阿里互联网科技公司 栖莱科技互联网股份有限公司 互联网科技革命什么开始 移动互联网科技公司 米聚互联网科技南京有限公司排面 四川慕妮娅互联网科技有限公司 江苏互联网智能科技软件 互联网高科技绘画 中国主要互联网科技公司 碳银互联网科技有限公司 小米互联网科技园设置 互联网科技和信息 互联网数据科技专业 银行科技岗属于互联网吗 珠海东科互联网科技有限公司 国产互联网科技公司 西安左小互联网科技有限公司 互联网科技大佬云集 杭州科技互联网公司有哪些
0