问题标签 [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.
oracle - 是否有类似于 DETERMINISTIC 的 PL/SQL 编译指示,但适用于单个 SQL SELECT 的范围?
在 SQLSELECT
语句中,我想执行一个对该SELECT
语句范围具有确定性的函数(或者事务也可以):
的许多值t.x
是相同的,因此 Oracle 可以省略一次又一次地调用相同的函数,以加快处理速度。但是,如果我将函数标记为DETERMINISTIC
,则结果可能会在此查询的多次执行之间缓存。我不能使用的原因DETERMINISTIC
是因为my_function
使用了一个不时更改的配置参数。
我可以使用其他关键字吗?是否有任何我应该注意的问题(内存问题、并发性等)?或者可能有任何其他技巧,例如每个t.x
值只调用一次函数的分析函数(不会对性能产生重大影响)?
mysql - 如何评估 MySQL 存储的_function_ 中的简单数学公式?
在我存储的函数中,我有:
(一个简单的数学公式,只有数字,动态创建为字符串)
我如何评估这个并返回结果?
我不能使用 EXECUTE (不可能在存储函数中),如果我将其设为存储过程并从存储函数中调用它,我会得到“存储函数或触发器中不允许使用动态 SQL”-好像我会eval 直接在函数内部。我需要一个存储函数,而不是过程,因为我需要在 SELECT 语句中调用它。
mysql - 无法创建存储函数 - 语法错误?
我有以下问题。
我想创建一个存储函数,将 entity_id 转换为相应的 sku
这是代码:
现在我的问题是,如果我触发查询,我会收到以下消息:[Window Title] Error
我使用的数据库是 MySQL 5.0.51a
提前感谢您的想法。
mysql - 从 MySQL 存储函数访问行数据
title
给定一个包含,firstname
和等列的表lastname
。在 MySQL 中,我创建了这个名为 fullname() 的存储函数,它 CONCAT 给定列并返回它。
我的想法是,我将只执行此 SQL 语句,并获得全名:
SELECT *, fullname() FROM people;
它不起作用。有谁知道为什么?我对存储函数很陌生。
mysql - 连接函数返回的结果时,MySQL JOIN 不使用主键
描述
我正在尝试JOIN
使用存储函数的结果创建一个表。存储的函数返回一个无符号整数,它与我要加入的字段类型相同。
问题
我要尝试的字段JOIN
是主键。我的问题是 MySQL 似乎没有在这里使用主键。
查询的相关行(如下所示)是:
如果我用整数替换我的函数调用first_db.find_spend_id(...)
,例如30
,EXPLAIN
说明使用了主键,查询速度很快。如果我使用我的函数,EXPLAIN
说明没有使用主键,查询很慢。
问题
在此联接中使用此函数的结果时,是否有某种方法可以使用我的函数并让 MySQL 使用主键?我应该如何修改我的代码以获得这个最光荣的解决方案?
信息
询问
功能
解释
mongodb - MongoDB:执行存储的 JavaScript 函数时出错
当我在存储的 JavaScript 函数下运行时,出现错误:
这是错误:
为什么?请帮我?
mysql - mysql 存储函数,用于在查询中进行多次替换
我有一张桌子1
和另一个表2
在 table1 上的替换过程之后,我需要一个 mysql 函数来将输入单词与 table2 中的单词进行比较,例如:
我的mysql知识太差了。我怎样才能做到这一点?
mysql - 存储函数中的临时表?
我正在编写一个函数,我需要使用一个TABLE
变量(我听说它们在 MySQL 中不存在)或一个临时表。
但是,临时表似乎只适用于存储过程,而不适用于函数。我不断收到此错误:
存储函数或触发器中不允许显式或隐式提交。
我正在尝试构建的是我之前的问题的解决方案。它是一个接收开始日期、结束日期和逗号分隔字符串的函数。它首先查找开始日期和结束日期之间的所有月份,并将它们作为单独的记录保存在第一个临时表中。然后它解析出逗号分隔的字符串并将它们保存到第二个临时表中。然后它对两者进行选择连接,如果存在记录,则返回 true,否则返回 false。
我的意图是将其用作另一个查询WHERE
子句的一部分,因此它需要是一个函数而不是存储过程。
如何在存储函数中使用临时表?如果我不能,我能做些什么呢?
这是我的(当前损坏的)功能(或作为要点):
mysql - ''的语法错误?
我似乎无法弄清楚这是从哪里来的...... MySQL给了我一个空引号的语法错误,并给了我一个似乎根本没有错的行号。更糟糕的是,删除行号指向的循环仍然会给我同样的错误,只是行号不同。
第 13 行的 ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在第 39 行的 '' 附近使用的正确语法
谈论来自 MySQL 的无用反馈!
有问题的代码是一个存储函数,我在尝试将答案应用于另一个问题时遇到了这个问题。更新的代码可在此处获得。
编辑:@MarkByers,这是在触发错误的同时尽可能降低的功能:
c# - 将 XML 从 C# 传递到 SQL Server
我正在尝试将以下格式的 XML 从 C#(DataType 字符串)发送到 SQL Server 存储过程:
在 SQL Server 列中应该存储一个空间。但它会像<Content/>
. 因此,简而言之,从 c# 到 SQL Server 会丢失空间。
无论如何我可以避免这种情况吗?