存储过程中的参数如何使用?
还是存储过程的问题,想问一下如何使用存储过程中的参数。
下面是我做的例子,目的是把一个表中的数据抽出,插到另一个表中,参数时表名和数据抽出的条件,则么也编译不过去~~~
CREATE PROCEDURE table_manage(
@table varchar(100), --原表名
@old_table varchar(100), --想插入的表明
@condition varchar(1000) --抽数据的条件
)
AS
SET NOCOUNT ON
--事务开始
BEGIN TRANSACTION
--锁定表
SELECT COUNT(*) FROM @table WITH (TABLOCK,HOLDLOCK)
--把指定条件的数据抽出,插入到另一个表中
insert into @old_table
select * from @table where @condition
IF @@ERROR <> 0 BEGIN ROLLBACK TRANSACTION RETURN -4 END
--把已经移走的数据从源表中删除
delete * from @table where @condition
IF @@ERROR <> 0 BEGIN ROLLBACK TRANSACTION RETURN -5 END
--事务提交
COMMIT TRANSACTION
RETURN 0
GO