【发布时间】:2008-12-15 09:27:35
【问题描述】:
下面是我的存储过程。我想使用存储过程从 tbl_member 中选择所有日期行并插入 2 个表。但这是行不通的。有人可以帮助我吗?
Create PROCEDURE sp_test
AS
BEGIN
SET NOCOUNT ON;
Declare @A Varchar(255), @B Varchar(255), @C Varchar(255), @D int
Declare Table_Cursor Cursor
For select A, B, C from tbl_Member Open Table_Cursor
Fetch Next From Table_Cursor
Into @A, @B, @C While(@@Fetch_Status=0)
Begin Exec(
'insert into NewMember (A, B, C, D) values (@A, @B, @C, @D)
set @D = @@IDENTITY
Insert into MemberId (Mid) VALUES(@D)
)
Fetch Next From Table_Cursor Into @A, @B, @C End Close Table_Cursor
Deallocate Table_Cursor
END
GO
【问题讨论】:
-
您在“插入”之前有一个 ' 而在之后没有。
-
你绝对应该学会正确缩进你的代码。真的很难看出这里有一个 while 循环,因为你在其他语句之间隐藏了 while 和 end 在行中间。
标签: sql sql-server stored-procedures