问题标签 [create-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
174 浏览

postgresql - PostgreSQL:CREATE FUNCTION 按主键返回一行

我写了以下函数:

  1. 我希望能够运行查询SELECT sessions_get(1)以获取用户 ID 为 1 的会话 ID。而且,我希望返回的列的名称为id.

    那可能吗?或者,查询必须是SELECT * FROM sessions_get(1)?在这种情况下,只写SELECT sessions_get(1) as id. 哪个更好?

  2. 我可以删除SETOF,因为我知道此函数将始终返回 0 或 1 行吗?我知道这是因为user_id它是sessions表的主键。

0 投票
1 回答
229 浏览

php - 每次刷新时如何重新声明/重新定义 MySQL 用户函数?

是否可以在每次刷新时重新声明一个 MySQL 函数,这是我的代码

即使我有这条线DROP FUNCTION IF EXISTS Add2;,刷新时功能也保持不变。例如,我将行中的2to更改为然后刷新,它仍然添加not 。3SET Ans = LAT_A + 2;23

0 投票
0 回答
1279 浏览

split - DB2 SQL:在多行上使用递归 CTE 连接表函数(拆分字符串)

在 IBM DB2 V10 上,我创建了以下函数。此函数包含一个递归公用表表达式。它将文本字符串(例如'abc,def,ghi')拆分为具有三行的表格'abc''def'并且'ghi'.

基本上,此函数在单个字符串上按预期工作。

产生下表:

但是,只要有一个表要连接多行,DB2 就会返回ERROR [42997] [IBM][DB2] SQL0270N Function not supported (Reason code = "").这意味着,如果我执行了以下查询,但没有注释掉多个 select 语句,则会返回此错误。但是,每一行本身不会产生错误。

在 IBM Knowledge Center 上,我找不到原因,为什么不能在多行上连接这样的表函数。没有原因码的错误 SQL0270N(不支持函数)似乎也没有太大帮助。

无法处理该语句,因为它违反了以下原因代码所指示的限制:

我想在一个多行的子查询或表上加入这个函数。但是,如果没有有用的原因代码,我无法判断问题可能是什么。有没有人知道加入多行时可能会出现什么问题?

0 投票
1 回答
228 浏览

mysql - MySQL使用值创建函数语句并返回数据类型十进制

这是我在 MySQL 中的代码。我应该写一个语句,通过给定的库存和每个项目的价格来计算 itemavalue -> 库存*价格。如果 itemvalue 为负数,则应将其设置为 0。

我知道到目前为止这不起作用,但我从未使用过 MySQL 中的函数。对不起,希望你们能帮助我。

给出了函数的签名:

itemvalue(库存int UNSIGNED,价格小数(8,2))

谢谢

0 投票
1 回答
32 浏览

mysql - MySQL使用现有表创建函数语句

我以前问过这些问题,但我认为最好问一个新问题,因为我的旧问题似乎略有不同。我没有提到现有的表和那里的输入。

我有一个表“项目”,其中包含所有数据,如每个项目的价格和库存。我的函数应该从实际库存和商品价格中获取输入,并使用公式库存*价格将其转换为商品价值。如果 itemvalue 为负值,则输出应为 0,否则应返回正值。

函数签名:

表项:

物品

0 投票
3 回答
1889 浏览

mysql - MySQL:使用 select 语句 + 计算创建函数

我需要你的帮助。我应该创建一个函数来计算处方的处方成本。公式应该是这样的:

药价 x 剂量 x 上限(duartion/24h)

函数的签名是:

处方费用(mname varchar(100),剂量 int,持续时间)

所以,运行后我会得到这个窗口:

名字

而不是使用药物的价格,我必须使用药物的名称,它指的是表中的价格。

表方为:

处方

也就是说,如果我输入药物的名称,应该以价格计算,但我不知道如何计算。

我想我必须在 create function 语句中结合 select 语句。

BTW:英语不是我的母语!!!请原谅我的错误!

0 投票
2 回答
33 浏览

sql-server-2008 - Inline table valued function

I need to create a table function that produces a parameter up to a specified number in column 1 always starting from 1. In column 2, if column 1 is divisible by 5 it will say 'Div5' otherwise NULL.

So as an example. I specify column 1 will stop at 5 the end result will look as follows;

1 NULL

2 NULL

3 NULL

4 NULL

5 Div5

I can create the function, but I'm not sure how to create the conditional first column, or how to say if column 2 divided by 5 is an integer then 'Div5' if it's a decimal then NULL;

I hope this gives enough detail?

Thank you :)

0 投票
1 回答
38 浏览

postgresql - 返回作为保留关键字的表列名称?

我正在创建这个返回表格的函数。我在下面代码的第 9 行有这个问题,我认为“位置”和下面的“属性”列是主要问题。我想像下面的代码一样返回列名。任何人都可以帮助我吗?提前致谢!

0 投票
1 回答
49 浏览

php - 在 create_function 上使用 $this 时出错

当我在$this里面使用时create_function出现错误

致命错误:不在对象上下文中使用 $this

后来我称之为

我传递$this给该函数,但似乎不起作用。有办法绕过它吗?

谢谢

0 投票
2 回答
105 浏览

php - 创建 MySQL 函数时的问题

我有一个 PHP 函数来创建那些著名的 AlphaID 整数表示,如下所示:

编码,例如,PHP_MAX_INT常量 (2147483647) 提供的最大整数将返回cwuCBb

但是我认为在整个应用程序图片中它有点太慢了,所以我尝试创建一个 MYSQL 函数,所以理论上,一旦数据在查询时为我准备好,我就不会浪费性能使用 PHP 进行这种转换。

MySQL手册并不完全友好,但在这里和那里搜索我想出了这个:

但是当我通过我使用的 MySQL 管理器(DBNinja)运行它时,显然没有任何反应。运行查询后,它显示0 行受影响,我不确定这是否是预期的输出。

无论对与否,该函数都不起作用,因为当我尝试在查询中使用它时:

我第一次收到一个错误,说table.ENCODE_ALPHAID不存在。然后我注意到,事实上,我在尝试使用的数据库的不同数据库中创建了该函数。

但是我在正确的数据库中再次创建了它,但出现了同样的错误。

所以这里有问题:

  1. 我做错了什么?这是我第一次尝试做这样的事情,我不确定
  2. 我的 PHP 代码实现是有效的 MySQL 对应物吗?我错过了什么吗?
  3. 我可以将此功能设为“全局”吗?我的意思是,可用于我需要的任何数据库?因为对于我正在处理的应用程序,为了使所涉及的两个子系统保持分离,我创建了两个数据库。

更新

显然,没有创建函数的问题出在 DBNinja 的末尾,因为我直接在 MySQL 控制台中运行了该语句,虽然输出状态相同,0 行受影响,但我能够在语句中有效地使用该函数,所以函数毕竟是创建的。

但是,例程本身有问题,因为当我测试它时,结果字符串是......“一个领先”。

例如,如果我运行以下 PHP 代码:

它会产生baaac,但 MySQL 函数返回baaad,这将是整数3的 AlphaID 表示

这不仅是错误的,而且我认为它还可能溢出达到最大值时使用的 INT 类型 2147483647