Ошибка SQL70001: этот оператор не распознается в этом контексте

Я сохранил процедуру в приложении asp.net следующим образом:

CREATE PROCEDURE [dbo].[step2-e]
    @PI varchar(50),
    @Balance int output ,
    @Shipment_status varchar(50) output,
    @ETA varchar(50) output,
    @Forwarder varchar(50) output,
    @Transit_time Time output,
    @Shipping_date date output,
    @Shipping_method varchar(50) output,
    @Clearance_location varchar(50) output,
    @Advance_payment varchar(50) output 
    @Balance_t varchar(50) output,
    @Loading_date date output 
    @Balance_d date output
AS
Begin
   select 
       @Advance_payment = [advance_payment] @Balance = [Balance], 
       @Shipment_status = [Shipment_status],
       @ETA = [Eta], @Forwarder = [Forwarder], 
       @Transit_time = [Transit_time], @Shipping_date = [Shipping_date],
       @Shipping_method = [Shipping_method], 
       @Clearance_location = [Clearance_location],   
       @Balance_d = [Balance_due_d], 
       @Balance_t = [Balance_due_t], 
       @Loading_date = [Loading_date]  
   from 
       Inbound 
   where 
       [Pi1] =  @PI
End
GO

Select convert(date, [dbo].[step2-e] ,3);
GO

Но я получаю сообщение об ошибке после того, как слово Go на select говорит: -

Ошибка SQL70001: этот оператор не распознается в этом контексте

Хорошо, я думаю, что есть проблема использования Go word Когда я искал, я нашел решение, но на сайте asp.net не приложение asp.net. Я нашел решение здесь, но не могу найти файл скрипта в приложении asp.net. Просто я могу найти это на сайте asp.net. Что я могу сделать?

Ответ 1

Когда вы разместили его, запятая отсутствует между двумя первыми элементами вашего SELECT:

select 
    @Advance_payment = [advance_payment] @Balance = [Balance], 
                                       ^^^^
                                        | 
                                      here there should be a comma!

Поэтому попробуйте это вместо этого:

select 
   @Advance_payment = [advance_payment],
   @Balance = [Balance], 
   ..... (rest of your statement) ....

Ответ 2

Эта ошибка возникает из-за того, что для параметра Build Action установлено значение "Построить внутри свойств". Установите его в None, и он должен работать нормально. enter image description here

Ответ 3

Запястья отсутствуют в разных местах. После вывода в объявлении переменных: -

Выход @Advance_payment varchar (50)

Вывод даты @Loading_date

И в инструкции select после [advance_payment]:

@Advance_payment = [advance_payment]