Я пытаюсь создать хранимую процедуру, которая, кажется, возвращает сетку. Но мне нужен только первый столбец этой сетки. Ниже приведен код, я использую, чтобы вызвать процедуруХранимая процедура возвращает несколько значений, но нужна только одна
USE [OperationsView]
DECLARE @ProductionDate As DateTime
DECLARE @tag_in As VARCHAR(80)
DECLARE @FCChemGALPERMIN float
DECLARE @pi_server As VARCHAR(32)
DECLARE @endDate As DateTime
DECLARE @Debug As Bit
DECLARE @result As Float
SELECT @ProductionDate = '2016-12-01 07:00:00'
SELECT @tag_in = 'I-FC-835'
SELECT @pi_server = 'valpi'
SELECT @endDate = DATEADD(DAY, 1, @productionDate)
SELECT @Debug = 1
EXEC @FCChemGALPERMIN = Interface.proc_GetPIValueAverageTime
@result, @tag_in, @ProductionDate, @endDate, @pi_server, @Debug
PRINT @FCChemGALPERMIN
PRINT 'done'
На вкладке результатов мне нужно это значение с плавающей точкой, я не забочусь о проценте рядом с ним. Ниже этого изображения я получаю на вкладке сообщений. В принципе, я хочу захватить это значение float и присвоить его переменной, чтобы я мог отображать ее и на вкладке сообщений.
вкладка Результаты выглядит следующим образом:
вкладка Сообщения выглядит следующим образом:
ChemGALPERMIN показывает 0, когда я просто распечатать эту переменную. Что мне делать, чтобы получить желаемый номер плавающей запятой?
Почему вы и ваш код не игнорируете вторую колонку? В вашем приложении нет ** **, чтобы отображать все, что он получает. Если вы говорите только о SSMS, ??? –
мой код, и я пробовал это, но havent повезло – Gio
@Gio. Я думаю, что ваша проблема не в количестве возвращенных столбцов, а в ПУТЕМ вы возвращаете результат из sproc. См. Мой ответ ниже. – andrews