是否有“临时函数”之类的东西? [复制]

2023-12-13

有临时视图和临时表 - 是否有“临时函数”?我有一个函数,我想在事务期间使用,然后丢弃(类似于临时表的用例)。此外,我希望两个并发事务能够创建具有相同名称的相同函数,而无需锁争用。


没有CREATE TEMP FUNCTION ...就像现有的CREATE TEMP TABLE ...。但是有一个技巧可以在临时模式中创建函数pg_temp, 像链接的答案提供了。该函数仅在同一会话中可见,并且只能通过模式限定名称调用:

CREATE FUNCTION pg_temp.f_inc(int)
  RETURNS int AS 'SELECT $1 + 1' LANGUAGE sql IMMUTABLE;

SELECT pg_temp.f_inc(42);
f_inc
-----
43

我可以追溯到这个想法Tom Lane 在 pgsql-general 上发表的这篇文章.

没有技巧的最接近的事情是准备好的声明。行为很像临时 SQL 函数在会话结束时死亡。不是same但是,它只能单独使用,不能在更大的查询上下文中使用。例子:

PREPARE upd_tbl AS
UPDATE tbl t SET set_name = $2 WHERE tbl_id = $1;

Call:

EXECUTE upd_tbl(123, 'foo_name');

Details:

  • 分割给定字符串并准备 case 语句
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有“临时函数”之类的东西? [复制] 的相关文章

  • 在 SQLServer 2005 函数中执行动态 SQL

    我在回答这个问题时会说 我不认为这是可以解决的 我还有一个解决方法 我可以创建一个带有输出的存储过程来完成此操作 使用函数对需要此校验和的部分进行编码会更容易 该代码将不起作用 因为Exec SP ExecuteSQL SQL来电 有人知道
  • 在官方 Postgres docker 镜像中记录所有查询

    我有一个基于 Postgres 官方 docker 镜像的 docker 容器 当我使用查看 docker 容器的日志时 我想看到传入的查询docker logs f 这是我的 Dockerfile FROM postgres 11 1 a
  • PSQLException 没有被捕获

    我正在使用 Tomcat 6 和 Postgresql 8 4 我的代码如下所示 try Prepared statement inserting something catch final PSQLException e LOG log
  • 强制 DataMapper 断开与 postgresql 的连接

    我有一个测试 正在 postgresql 中创建和销毁多个数据库 为了能够删除数据库 我需要告诉 DataMapper 断开连接 我似乎找不到任何有关如何执行此操作的文档 DataMapper Adapters PostgresAdapte
  • 与 PostgreSQL CTE 的一般并行性

    我正在处理一些大数据 并且在查询中获取并行计划是必要的 我也很喜欢使用 CTE 来表达我的查询 但根据 PostgreSQL 的文档 我不太确定 CTE 是否对并行性造成严重限制 Here https www postgresql org
  • 执行 INSERT into 数据库后如何获取插入行的 id?

    我正在使用 c 11 和 pqxx 访问 postgresql 数据库 我需要插入行的 id 和标志 如果成功与否 执行 INSERT into 数据库后如何获取插入行的 id 我试图在网上找到例子但没有成功 work txn conn t
  • SQL:每天选择最接近特定时间的一条记录

    我有一张表存储某个时间点的值 CREATE TABLE values value DECIMAL datetime DATETIME 每一天可能有多个值 也可能某一天只有一个值 现在我想获取给定时间跨度 例如一个月 内最接近一天中给定时间的
  • 强制一个 javascript 函数等待运行,直到第一个函数完成

    下午 我遇到了一个问题 我需要运行一个函数 然后在完成后 运行下一个函数 并对四个函数执行此操作 我已经尝试了一段时间 试图找到正确的布局语法我的函数调用但似乎找不到任何东西来解决这个特定的场景 html div div div jquer
  • 为什么在我的函数输出后打印“None”?

    我尝试编写这段代码 def smaller x y if x gt y print y else print x print smaller 2 3 我得到这个结果 gt gt gt 2 None 哪里去了None来自 这是什么意思 See
  • PostgreSQL:左外连接语法

    我正在使用 PostgreSQL 8 4 6 和 CentOS 5 5 并有一个用户表 select from pref users where id DE2 id first name last name female avatar ci
  • PHP:将字符串分成 8 个块,我该怎么做?

    我基本上有二进制 假设它的长度是300 我如何将它分割 就像使用爆炸一样 成 8 位块 我查看了 chunk split 但它似乎只有一个 end 参数 而不是将其放入数组的选项 或者它可以插入数组吗 末尾 8 位数字可以低于 8 如果有人
  • 插入多行并返回主键时 Sqlalchemy 的奇怪行为

    插入多行并返回主键时 我注意到一些奇怪的事情 如果我在 isert 查询中添加使用参数值 我会得到预期的行为 但是当将值传递给游标时 不会返回任何内容 这可能是一个错误还是我误解了什么 我的sqlachemy版本是0 9 4 下面如何重现错
  • 为什么我的函数将布尔值更改为“on”?

    所以我是 php 编程世界的新手 我正在在线学习和其他形式等 但我找不到任何东西来帮助回答我的问题 这就是我在这里的原因 任何帮助当然不胜感激 谢谢 我想将下面的代码变成我可以调用的函数 它的工作原理如下所示 如果我选中表单中的复选框 它会
  • 嵌套辅助函数和性能

    嵌套辅助函数对于使代码更易于理解非常有用 谷歌甚至建议在他们的应用程序中使用嵌套函数时尚指南 https google styleguide googlecode com svn trunk javascriptguide xml Nest
  • 没有运算符与给定名称和参数类型匹配。您可能需要添加显式类型转换。 -- Netbeans、Postgresql 8.4 和 Glassfish

    我正在尝试使用 EclipseLink 在 Glassfish 中使用 JPA 编辑 Postgresql 中的表 当我插入一个实体时 它运行良好 但是 当我尝试编辑或删除同一实体时 它失败并出现以下错误 任何想法 Caused by Ex
  • 从函数体内访问函数对象的属性

    JavaScript 中的函数也是一个对象 并且可以具有属性 那么有没有办法从它自己的函数体内部访问它的属性呢 像这样 var f function console log some way to access f a f a Test f
  • 在 Rails 中禁用连接池以使用 PgBouncer

    我们有一个 Ruby on Rails 4 2 8 项目 可以访问大型 PostgreSQL 数据库 我们将使用 PgBouncer 添加一个新的连接池服务器 由于 PgBouncer 将处理数据库连接池 我们是否需要关闭 Rails 自动
  • 防止 PostgreSQL 中专有名词的词干?

    以其热情将词干标记转化为词位 http www postgresql org docs current interactive textsearch intro html PostgreSQL全文搜索引擎也减少了专有名词 例如 essais
  • 如何在 PostgreSQL 中使用具有多个值的 SQL LIKE 条件?

    有没有更短的方法来查找多个匹配项 SELECT from table WHERE column LIKE AAA OR column LIKE BBB OR column LIKE CCC 这个问题适用于 PostgreSQL 9 1 但如
  • 在 PostgreSQL 中使用月份名称排序

    我有一个表 其中有一个字段 Month Name 它包含月份的名称 我想按月份名称排序 不是按字母顺序 而是按实际顺序 例如一月 二月等 如何使用 PostgreSQL 实现此操作 有什么方法可以将月份名称转换为其数值吗 id billed

随机推荐

  • 将列表中的所有数据框保存到单独的 .csv 文件中

    我有一个数据框列表 我想将其保存到独立的 csv 文件中 目前我为每个数据框都有一个新行 write csv lst df1 C Users df1 write csv lst df2 C Users df2 ad nauseam 显然这并
  • 竹子:如何制作maven神器

    我已经设置了一个 Bamboo 服务器并使用 Maven 构建任务制作了一个测试项目和计划 但这个任务不会产生任何工件 也许除了测试结果 我没有检查过 我希望将所有 Maven 工件附加到构建结果中 就像在 Hudson 中所做的那样 怎么
  • Dataclip 错误 ERROR:无法在只读事务中执行 INSERT [重复]

    这个问题在这里已经有答案了 我想在 Heroku 中插入数据 但我无法执行此操作 因为它的错误是 Dataclip Error ERROR cannot execute INSERT in a read only transaction 赫
  • 如何为每一行将日期时间列增加一秒?

    假设我有这个时间值 09 00 00 我有一个包含 时间 列的表 其中有三个记录 我想用那个时间更新这 3 条记录 但时间值每次增加一秒 对于每条记录 像这样的东西 ColumnA ColumnB 1 09 00 00 2 09 00 01
  • 在 async.series 中调用 async.series 会产生不可预测的输出

    使用 caolan 的 Node js 异步库 我一直在尝试调用一个使用async series在另一个使用 async series 的函数内 但我仍然无法让函数以正确的顺序运行 如下所示 终端输出显示第二个函数在第一个函数之前被调用 没
  • 从广播接收器关闭应用程序

    我是 Android 编程新手 我尝试在活动中注册广播接收器 但当应用程序暂停时我的接收器无法工作 所以我发现我需要在清单中注册我的接收器 我的目标是在用户关闭 Wifi 后关闭我的应用程序一段时间 这是我的代码 但它不起作用 public
  • 使用 Java 5 运行 JAXB 编组异常 javax.xml.stream.FactoryConfigurationError

    我正在 JUnit 测试类中尝试简单的 JAXB 封送处理 并且使用的是 Java 5 运行测试时出现此错误 javax xml stream FactoryConfigurationError 未找到提供程序 com bea xml st
  • 如何将 2 个 wav 文件混合在一起?

    我正在尝试录制输入并将其与歌曲合并在一起 不是连接 我有一把在听歌曲时录制的吉他 我想将吉他放在歌曲中 如 audcaity 有什么办法可以做到吗 如果无法进行实时混音 是否可以在录制后合并它们 就像我录制吉他后 现在它是一个 wav 文件
  • Java Unsafe.copyMemory java.lang.IllegalArgumentException

    我对来自 Unsafe 的 copyMemory 有疑问 我花了2天的时间来解决它 但没有结果 下面提供的代码始终以 IllegalArgumentException 结束 你能帮我看看问题出在哪里吗 public void testMem
  • 将数据从一个模型分成两个后,如何重写我的猫鼬查询?

    在我的应用程序中 我存储评论 以前我的模型是这样的 var CommentsSchema new Schema username type String display name type String facebook username
  • 如何在 PHP 中的 cURL POST HTTP 请求中包含授权标头?

    我正在尝试通过 Gmail OAuth 2 0 访问用户的邮件 并且我正在通过 Google 的 OAuth 2 0 Playground 解决这个问题 在这里 他们指定我需要将其作为 HTTP 请求发送 POST mail feed at
  • 如何使用OpenCV进行人脸识别? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在尝试使用 OpenCV 做一些人脸识别 不是检测 的事情 我发现这篇文章有一些代码 http www cognotics com opencv
  • pandas-python 数据框更新一列

    假设我有一个包含品牌名称的品牌列表 BRANDS Samsung Apple Nike 数据框 A 具有以下结构 row item title brand name 1 Apple 6S Apple 2 Nike BB Shoes na l
  • 为 ios 构建一个具有电子签名功能的应用程序,可能使用单点触控?

    这只是一个简单的问题 因为我在谷歌上搜索并只找到了已经具有此功能的应用程序 但我如何着手创建一个能够捕获电子签名的应用程序 这可能吗 Xamarin 的组件商店有一个签名板执行此操作的组件 我也从头开始写过类似的东西 这并不是特别困难 代码
  • Tensorflow Estimator API 以 eval 模式保存图像摘要

    目前 我尝试使用 Tensorflow 的新 Estimator API 在自定义图像数据集上训练自动编码器 到目前为止一切正常 我遇到的唯一问题是当模型处于评估模式时将输入和输出图像保存为摘要 我在训练模式下创建的所有图像摘要都正确存储并
  • 该解决方案中信号量的使用是否正确?

    Problem 我必须增加 x1 和 x2 变量 这应该由单独的线程完成 并且在两个变量的上一个增量未完成之前不应调用两个变量的下一个增量 建议的解决方案 初始化 4 个信号量并调用单独的线程来单独递增变量 2 个信号量用于将消息传递到线程
  • C++/CX WinRT 指针的引用计数的线程安全

    我的印象是 考虑到用例 WinRT 对象的引用计数是线程安全的 但我遇到了一个错误 我不知道有什么其他方法可以解释 例如 以下代码很快就会崩溃 ref class C sealed public C virtual C Windows Fo
  • 带复选框的 Java 结果集到 JTable

    我有这段代码 它可以显示数据库中的数据 它运行良好 但我希望它在最后一列有复选框 我在这里找到了一些代码 但它仅适用于预定义的值 而不是来自数据库 如何向 JTABLE swing 添加复选框 截屏 Code public print in
  • Java 初学者 - 计算句子中的单词数

    我应该使用方法来计算句子中的单词数 我写了这段代码 但我不太确定为什么它不起作用 无论我写什么 我只收到 1 个字的计数 如果你能告诉我如何修复我写的内容而不是给我一个完全不同的想法 那就太好了 import java util Scann
  • 是否有“临时函数”之类的东西? [复制]

    这个问题在这里已经有答案了 有临时视图和临时表 是否有 临时函数 我有一个函数 我想在事务期间使用 然后丢弃 类似于临时表的用例 此外 我希望两个并发事务能够创建具有相同名称的相同函数 而无需锁争用 没有CREATE TEMP FUNCTI