Назначение результата функции переменной SQL и отображение

Перенос кода 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?

Правильное решение согласно Джеймсу Джонсону, ниже:

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

select @value = dbo.getNumber();

print @value;
go

Обратите внимание на скобки для вызова функции. Также обратите внимание: intellisense в SMS подчеркивает dbo.getNumber (), как если бы это была ошибка, но выполнение запроса с F5 работает и дает правильный результат.

20
задан elbillaf 8 August 2011 в 21:45
поделиться