问题标签 [stored-functions]

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 投票
4 回答
1384 浏览

oracle - 是否有类似于 DETERMINISTIC 的 PL/SQL 编译指示,但适用于单个 SQL SELECT 的范围?

在 SQLSELECT语句中,我想执行一个对该SELECT语句范围具有确定性的函数(或者事务也可以):

的许多值t.x是相同的,因此 Oracle 可以省略一次又一次地调用相同的函数,以加快处理速度。但是,如果我将函数标记为DETERMINISTIC,则结果可能会在此查询的多次执行之间缓存。我不能使用的原因DETERMINISTIC是因为my_function使用了一个不时更改的配置参数。

我可以使用其他关键字吗?是否有任何我应该注意的问题(内存问题、并发性等)?或者可能有任何其他技巧,例如每个t.x值只调用一次函数的分析函数(不会对性能产生重大影响)?

0 投票
2 回答
2026 浏览

mysql - 如何评估 MySQL 存储的_function_ 中的简单数学公式?

在我存储的函数中,我有:

(一个简单的数学公式,只有数字,动态创建为字符串)

我如何评估这个并返回结果?

我不能使用 EXECUTE (不可能在存储函数中),如果我将其设为存储过程并从存储函数中调用它,我会得到“存储函数或触发器中不允许使用动态 SQL”-好像我会eval 直接在函数内部。我需要一个存储函数,而不是过程,因为我需要在 SELECT 语句中调用它。

0 投票
2 回答
12037 浏览

mysql - 无法创建存储函数 - 语法错误?

我有以下问题。

我想创建一个存储函数,将 entity_id 转换为相应的 sku

这是代码:

现在我的问题是,如果我触发查询,我会收到以下消息:[Window Title] Error

我使用的数据库是 MySQL 5.0.51a

提前感谢您的想法。

0 投票
0 回答
250 浏览

mysql - 从 MySQL 存储函数访问行数据

title给定一个包含,firstname和等列的表lastname。在 MySQL 中,我创建了这个名为 fullname() 的存储函数,它 CONCAT 给定列并返回它。

我的想法是,我将只执行此 SQL 语句,并获得全名: SELECT *, fullname() FROM people;

它不起作用。有谁知道为什么?我对存储函数很陌生。

0 投票
1 回答
448 浏览

mysql - 连接函数返回的结果时,MySQL JOIN 不使用主键

描述

我正在尝试JOIN使用存储函数的结果创建一个表。存储的函数返回一个无符号整数,它与我要加入的字段类型相同。

问题

我要尝试的字段JOIN是主键。我的问题是 MySQL 似乎没有在这里使用主键。

查询的相关行(如下所示)是:

如果我用整数替换我的函数调用first_db.find_spend_id(...),例如30EXPLAIN说明使用了主键,查询速度很快。如果我使用我的函数,EXPLAIN说明没有使用主键,查询很慢。

问题

在此联接中使用此函数的结果时,是否有某种方法可以使用我的函数并让 MySQL 使用主键?我应该如何修改我的代码以获得这个最光荣的解决方案?

信息

询问

功能

解释

0 投票
1 回答
3191 浏览

mongodb - MongoDB:执行存储的 JavaScript 函数时出错

当我在存储的 JavaScript 函数下运行时,出现错误:

这是错误:

为什么?请帮我?

0 投票
1 回答
856 浏览

mysql - mysql 存储函数,用于在查询中进行多次替换

我有一张桌子1

和另一个表2

在 table1 上的替换过程之后,我需要一个 mysql 函数来将输入单词与 table2 中的单词进行比较,例如:

我的mysql知识太差了。我怎样才能做到这一点?

0 投票
1 回答
11651 浏览

mysql - 存储函数中的临时表?

我正在编写一个函数,我需要使用一个TABLE变量(我听说它们在 MySQL 中不存在)或一个临时表。

但是,临时表似乎只适用于存储过程,而不适用于函数。我不断收到此错误:

存储函数或触发器中不允许显式或隐式提交。


我正在尝试构建的是我之前的问题的解决方案。它是一个接收开始日期、结束日期和逗号分隔字符串的函数。它首先查找开始日期和结束日期之间的所有月份,并将它们作为单独的记录保存在第一个临时表中。然后它解析出逗号分隔的字符串并将它们保存到第二个临时表中。然后它对两者进行选择连接,如果存在记录,则返回 true,否则返回 false。

我的意图是将其用作另一个查询WHERE子句的一部分,因此它需要是一个函数而不是存储过程。

如何在存储函数中使用临时表?如果我不能,我能做些什么呢?

这是我的(当前损坏的)功能(或作为要点):

0 投票
1 回答
115 浏览

mysql - ''的语法错误?

我似乎无法弄清楚这是从哪里来的...... MySQL给了我一个空引号的语法错误,并给了我一个似乎根本没有错的行号。更糟糕的是,删除行号指向的循环仍然会给我同样的错误,只是行号不同。

第 13 行的 ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在第 39 行的 '' 附近使用的正确语法

谈论来自 MySQL 的无用反馈!

有问题的代码是一个存储函数,我在尝试将答案应用于另一个问题时遇到了这个问题。更新的代码可在此处获得


编辑:@MarkByers,这是在触发错误的同时尽可能降低的功能:

0 投票
3 回答
355 浏览

c# - 将 XML 从 C# 传递到 SQL Server

我正在尝试将以下格式的 XML 从 C#(DataType 字符串)发送到 SQL Server 存储过程:

在 SQL Server 列中应该存储一个空间。但它会像<Content/>. 因此,简而言之,从 c# 到 SQL Server 会丢失空间。

无论如何我可以避免这种情况吗?