问题标签 [sql-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 回答
1662 浏览

postgresql - 没有 STRICT 修饰符的函数执行得更快?

STRICT当我在回答这个问题时声明了一个简单的 SQL 函数时,我偶然发现了性能下降。

为了演示,我创建了一个函数的两个变体,按升序对数组的两个元素进行排序。

测试设置

包含 10000 个随机整数对的表 (

STRICT没有修饰符的函数:

带修饰符的函数STRICT(其他相同):

结果

我执行了大约 20 次,并从EXPLAIN ANALYZE.

这些是 Debian Squeeze 上 Postgres 9.0.5 的结果。8.4 上的类似结果。

在所有 NULL 值的测试中,两个函数执行相同:~37 ms。

我做了一些研究,发现了一个有趣的问题。在大多数情况下,声明 SQL 函数STRICT 会禁用函数内联。更多关于PostgreSQL Online Journalpgsql-performance 邮件列表Postgres Wiki的信息。

但我不太确定这怎么可能是解释。在这个简单的场景中,不内联函数会导致性能下降?没有索引,没有光盘读取,没有排序。也许通过内联函数简化了重复函数调用的开销?

重新测试

同样的测试,同样的硬件,Postgres 9.1。更大的差异:

相同的测试,新硬件,Postgres 9.6。差距更大,然而:

0 投票
1 回答
4963 浏览

sql - 如何在 SQL Server 2008 的存储过程中操作 ntext 类型的数据

我想知道如何在 SQL Server 2008 的存储过程中操作 ntext 数据类型。我们在表中有一个 ntext 类型的列。我们必须从该列中获取数据,解析数据,更改然后将其存储回来。对于上述所有任务,我们必须使用一个或多个存储过程/函数。因此也涉及到存储过程之间的数据传递。

0 投票
2 回答
157 浏览

sql - 通过函数更新字段

我有一个函数,如果它存在则从表中获取 ID 并返回日期,如果不存在则返回当前日期:

下一个查询从表中返回正确的日期:

下一个代码正确更新记录(表中的值):

但是如果我更新记录,我会在该字段中获得当前日期:

看起来 ID 参数没有传递给函数。

0 投票
2 回答
828 浏览

sql-server-2005 - SQL Server 功能 - 防止重复

我有一个 SQL Server 2005 数据库。Table A其中有一个标识列以及另一个Id跨越多行的手动列。第二id列的格式为,'0000000098'并且必须是字符串。我无法更改数据类型。

Function A获取最大ID列值,将其加一,转换为字符串。

我的存储过程获取新 ID,然后使用此 ID 进行多次插入。

如何防止两个客户端在更新发生之前运行存储过程并获得相同的 ID?我可以从读取中锁定表 a 直到 proc 完成处理还是有更有效的方法?

如果我可以更改数据类型和/或结构,那将很容易,但我不能。

0 投票
1 回答
736 浏览

linq - Linq 谓词生成器

当我运行我的程序时,我在下面遇到了这个令人讨厌的错误:

LINQ to Entities 无法识别方法Int32 ToInteger(System.Object)method,并且此方法无法转换为存储表达式。

然后,我曾经SqlFunctions.StringConvert让它工作,但生成的 SQL LINQ 没有评估。这是示例输出(它比较“1”和“2”而不是 1 和 2)**

0 投票
1 回答
406 浏览

nhibernate - CreateAlias 生成加入表值函数

有没有办法扩展CreateAlias以使用表值函数而不仅仅是表,我想将值函数加入基表,我该如何使用Criteria做到这一点。

0 投票
1 回答
956 浏览

linq - 有没有办法在 Linq to Entities 中调用内置的 sql 函数

我想知道是否有办法在 LINQ to Entities 中调用内置 sql 函数?比如'CAST''ISNULL'。我在网上搜索过,我知道如何在 LINQ to Entities 中调用用户定义的函数,但我不知道如何调用内置函数。当然,一些内置函数可以通过 CLR 方法代替,但如果您有办法直接调用它们,我将不胜感激。

0 投票
1 回答
5416 浏览

sql - 如何从 SQL 存储过程中调用函数

我有已在存储过程中收集的功能。该函数返回一个表并且必须填充另一个表。也许这个问题可能看起来有点天真,但我是 T-SQL 中的新人。先感谢您。

0 投票
3 回答
8245 浏览

sql-server - 将当前行号插入 SQL Server 表

我有下表SQL Server

每次添加新行时,我都需要insert当前列。我尝试使用以下内容,但没有按预期工作:row numberguidfunction

0 投票
2 回答
9674 浏览

sql - 函数中包含的 Select 语句无法将数据返回给客户端

T-SQL 大师,是什么导致以下过程返回此错误“函数中包含的选择语句无法将数据返回给客户端。”?

我只是想返回一个标量,其中包含从到达时间连接的字符串。我没有看到我在哪里返回一个选择语句。