Перенос кода 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 работает и дает правильный результат.