我試圖創建一個插入一些數據到我的表的存儲過程,但我得到了一些錯誤,如使用存儲過程來插入一些數據表
無效列名
對於我在存儲過程中指定的所有列。我有一個名爲ID的IDENTITY COLUMN,每插入一次記錄就會增加一個。我在表中還有其他一些列,但它們可以爲空。這裏是我的存儲過程,無法弄清楚我在這裏做錯了什麼。
USE MYDB
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_Test]
@myID bigInt,
@myFirstName nvarchar(50)
,@myLastName nvarchar(50)
,@myAddress nvarchar(MAX)
,@myPort int
AS
BEGIN
SET NOCOUNT ON;
BEGIN
insert into MYDB.dbo.MainTable (MyID, MyFirstName, MyLastName, MyAddress, MyPort)
values(@myID, @myFirstName, @myLastName, @myAddress, @myPort)
END
END
GO
下面是表的定義:
USE [MYDB]
GO
/****** Object: Table [dbo].[MainTable] Script Date: 01/03/2013 11:17:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[MainTable](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[MyID] [bigint] NULL,
[MyFirstName] [nvarchar](50) NULL,
[MyLastName] [nvarchar](50) NULL,
[MyAddress] [nvarchar](max) NULL,
[MyPort] [int] NULL,
[MyZipCode] [nchar](10) NULL,
[CompName] [nvarchar](50) NULL
) ON [PRIMARY]
GO
顯示您的表格定義。 –
如果是標識列,您只需將其從列列表中排除即可。您可能還想添加try/catch。 – Kermit
我剛剛添加了表格定義。我也添加了標識列,但仍然得到相同的錯誤。感謝您的幫助 – user1858332