gpt4 book ai didi

sql-server - 如何使用 nodejs 的 mssql 包调用 SQL Server 标量函数?

转载 作者:搜寻专家 更新时间:2023-11-01 00:17:48 24 4
gpt4 key购买 nike

我在 SQL Server 2012 中有一个自定义标量函数。它需要 2 个 float 并返回一个 nvarchar。经过测试并在 SQL Server 中工作。

我还没有找到任何关于如何从 node-mssql 调用它的示例。我所做的尝试失败了:

类型错误:无法设置未定义的属性“值”

这似乎是 node-tedious 包的错误...所以可能 tedious 还不支持它。

我有一个工作版本,它调用一个带有两个返回记录集的输入参数的存储过程,但因为我真的只需要一个值,所以它似乎已经结束了,executeScalar 调用在这里很有用(我的东西我习惯于从 .NET 获得)。

最佳答案

您可以跳过 node-mssql 中的输入/输出设置,只需像往常一样选择标量函数。

函数

CREATE FUNCTION [dbo].[udfTestScalar] (
-- Add the parameters for the function here
@F1 FLOAT
,@F2 FLOAT
)
RETURNS NVARCHAR(100)
AS
BEGIN
-- Declare the return variable here
DECLARE @N1 NVARCHAR(100)

-- Add the T-SQL statements to compute the return value here
SET @N1 = N'Hi there'

RETURN @N1
END

index.js

var sql = require('mssql');

var config = {
user: 'user',
password: 'password',
server: 'localhost',
database: 'db'
};

var connection = new sql.Connection(config, function(err) {
var request = new sql.Request(connection);
request.query("SELECT dbo.udfTestScalar(12345.123, 12345.456) as result", function(err, recordsets) {
console.log(recordsets[0].result);
});
});

输出

% node index.js
'Hi there'

关于sql-server - 如何使用 nodejs 的 mssql 包调用 SQL Server 标量函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32428025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com