返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

38.4. PL/Tcl 里的全局量

发布于 2019-09-30 03:09:33 字数 466 浏览 875 评论 0 收藏 0

有时候在两次过程函数调用或者不同的函数之间保存一些全局数据是非常有用的。因为所有在一个后端运行的 PL/Tcl 过程共享同一个安全 Tcl 解释器。所以实现这个目标相当容易。因此,任何全局 Tcl 变量都是可以被所有 PL/Tcl 过程调用访问的,并且将在该次 SQL 会话过程中保持一致。请注意 PL/TclU 函数也类似地共享全局数据,但是它们在一个不同的 Tcl 解释器里并且无法和 PL/Tcl 函数通讯。

为了保护 PL/Tcl 过程相互之间不至于互相干扰,每个过程可以通过 upvar 命令访问一个全局数组。此变量的全局名称是过程的内部名称,其局部名称是 GD 。建议使用 GD 作为函数的永久私有状态数据的存储。而把普通的 Tcl 全局变量只用于那些你想在多个过程之间共享的变量。

一个使用 GD 的例子在下面的 spi_execp 例子里显示。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文