【问题标题】:Create a function from a select that includes another function从包含另一个函数的选择中创建一个函数
【发布时间】:2012-05-04 06:20:37
【问题描述】:

我需要创建一个从另一个函数输出整数的函数:

select schema.next_rowid('schema', 'table');

next_rowid() 函数总是输出一个整数。使用 PostgreSQL 9。

【问题讨论】:

  • Dietrich 已经为您回答了这个问题,但要么这比您的措辞所暗示的更复杂,要么您懒得在手册中查找“CREATE FUNCTION”。相信我,对手册如何布局的模糊了解将来会为您提供良好的服务。那里有大量参考资料和示例。
  • next_rowid 似乎表明您以某种方式实现了自己的序列处理。如果是这种情况:不要这样做。使用 PostgreSQL 提供的原生序列
  • @Tudor:不要实现自己的序列除非你不能忍受序列中的间隙或数字变得无序可见。内置序列非常适合生成唯一的 ID 值,任何本土实现都不能希望匹配它们;但它们不适用于某些会计应用程序或其他除了唯一性之外的属性很重要的用途。
  • 感谢您提供宝贵的信息。我搜索了 2 个小时的文档,看来我真的很倒霉,没有找到显而易见的东西。有时候这种情况会发生。再次感谢!

标签: postgresql stored-procedures


【解决方案1】:

您是否阅读过有关如何定义函数的文档?

CREATE FUNCTION my_pretty_function() RETURNS int AS $$
    SELECT schema.next_rowid('schema', 'table');
$$ LANGUAGE 'sql';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多