2013-07-03 109 views
-1

我有列存儲過程插入錯誤

1_number varchar(50), 
name_surname varchar(150), 
myID int, 
2_number varchar(50) 

表已存儲的過程,我想插入值

@1_number varchar(50), 
@name_surname varchar(150), 
@myID int, 
@2_number varchar(50) 

AS 
BEGIN 
SET NOCOUNT ON; 

if not exists(SELECT * FROM myData WHERE 2_number= @2_number) 

INSERT INTO myData(1_number,name_surname,myID,2_number) 
values (@1_number,@name_surname,@myID,@2_number) 

但有一個錯誤:無效的列名「身份識別碼」。一個alreadey有此列在我的表

+1

我看不出有什麼'provider_id'無論是在您的查詢諾雷你的表。 –

+0

編輯︰它是我的ID – GeoVIP

+0

@MichalKlouda希望檢查,如果我dotn有2_number(我執行過程中輸入時)我插入的值,當我輸入時執行我的程序 – GeoVIP

回答

1

你可以嘗試this..it可能工作

INSERT INTO myData([1_number],name_surname,myID,[2_number]) 
values (@1_number,@name_surname,@myID,@2_number) 
1

試試這個

CREATE PROCEDURE sp_myData

(@ 1_number VARCHAR(50) (150),

@myID INT,

@ 2_number VARCHAR(50))

AS

BEGIN

DECLARE @count INT = 0

SET NOCOUNT ON;

SELECT @計數=計數(*)FROM myData的WHERE [2_number] = @ 2_number

如果(@count < 1)

INSERT INTO myData的([1_number],name_surname,本身份識別碼,[2_number ])值(@ 1_number,@ name_surname,@身份識別碼,@ 2_number)

END