Глупая ошибка создания хранимой процедуры - PullRequest
1 голос
/ 26 февраля 2012

Что мне не хватает.Я исследовал, но я получаю эту ошибку

Msg 102, Level 15, State 1, Procedure sp_Create_User, Line 33
Incorrect syntax near '='.

Вот процедура

CREATE PROCEDURE [dbo].[sp_Create_User] 
    -- variables from site for new user create
    @lg_ID varchar(50),
    @lg_PW nchar(10),
    @locked int,
    @agreed int
AS 
BEGIN 
     SET NOCOUNT ON 

     INSERT INTO dbo.userLogin
          (LoginID, password, locked, agreed) 
     VALUES 
          (@lg_ID, @lg_PW, @locked = 0, @agreed = 0) 
END 

Ответы [ 2 ]

0 голосов
/ 26 февраля 2012

Похоже, что вы хотите 0 как значение по умолчанию для @locked и @agreed. Вместо @locked = 0 попробуйте isnull(@locked, 0). isnull заменяет нулевые значения указанным значением замены.

Кроме того, вы можете создать значения по умолчанию для параметров хранимой процедуры следующим образом:

CREATE PROCEDURE [dbo].[sp_Create_User] 
    -- variables from site for new user create
    @lg_ID varchar(50),
    @lg_PW nchar(10),
    @locked int = 0,
    @agreed int = 0

AS 
0 голосов
/ 26 февраля 2012

Перед оператором INSERT установите значения параметров, напр.

SET @locked = 0
SET @agreed = 0
...

Вы также должны удалить ассигмненты в VALUES, напр.

VALUES 
      ( 
        @lg_ID,
        @lg_PW,
        @locked,
        @agreed            
      ) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...