function - 将函数结果分配给SQL变量并显示

标签 function variables printing ssms

迁移asp.net代码(VB.net)以使用函数和子例程作为参数。
使用MS Server Management Studio创建上述功能和子。
想要先通过MS SMS进行功能测试,然后再通过网页对其进行测试。
这是一个例子。说我有一个名为“dbo.getNumber”的函数

我正在尝试使用以下方法进行测试:

USE [someDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
declare @value int;

select @value = dbo.getNumber;

print @value;
go

当我键入F5(运行“查询”)时,它给出以下消息:

“在这种情况下,不允许使用名称“dbo.getNumber”。有效的表达式是常量,常量表达式和(在某些情况下)变量。不允许使用列名。”

函数dbo.getNumber被接受就好了,顺便说一句。 (它正在计数满足某些条件的数据库记录。)

希望您可以从非工作代码中推断出我正在尝试执行的操作。

如何从SMS内打印功能值(出于测试目的)?

根据下面的James Johnson的正确解决方案:
USE [someDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
declare @value int;

select @value = dbo.getNumber();

print @value;
go

注意函数调用的括号。
另请注意:SMS中的intellisense会像错误一样在dbo.getNumber()下加下划线,但是使用F5运行查询可以正常工作并输出正确的结果。

最佳答案

您需要这样称呼它:

select @value = dbo.getNumber()

关于function - 将函数结果分配给SQL变量并显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6988892/

相关文章:

javascript - 将 JSON 字符串传递给 JavaScript

c++ - 棘手的 C 问题。动态函数调用

c - 用于描述 C 风格函数定义的 "top"和 "bottom"部分的名称是什么?

powershell - 在Powershell中使用子脚本修改父脚本中的变量

c++ - 检索特定打印机的可用工作表格式

swift - 使用函数的返回值 - Swift

variables - "$?"在PowerShell中意味着什么

javascript - 在全局范围内使用 "let"创建的变量与在循环内使用 "var"创建的变量

javascript - PDFKit Node.js 测量单位

python 以未知列表长度的格式打印