CREATE PROCEDURE InsertDB @StartID int = 1000, @EndID int = 2000 AS While @EndID <=2000 Begin Insert Into Table Values (Select .....) EndGO
上楼:@StartID int = 1000, @EndID int = 2000 这了个值我不在存储过程中指定,通过程序传过来,怎么写这个存储过程?
CREATE PROCEDURE InsertDB(@StartID int ,@EndID int ) AS declare @CurrentID int set @CurrentID = @StartID While @CurrentID <= @EndID Begin Insert Into Table Values (Select .....) EndGO
To pandaxj(框) ( ) : 多谢你的方法,但是@CurrentID 怎么让他的值每次加1啊,照你的这个方法去做的话,@CurrentID 一直都没有改变啊,比如说我传过来的@StartID 为100,,@EndID 为104,怎样在数据库里插入100,101,102,103,104,这几条记录啊?
set @CurrentID = @CurrentID +1
这里只是设置了默认值,你可以在代入参数时指定。 @StartID int = 1000, @EndID int = 2000CREATE PROCEDURE InsertDB @StartID int = 1000, @EndID int = 2000 AS While StartID <= @EndID Begin Insert Into Table Values (Select .....)--这里写你的插入SQL语句 Set @StartID = @StartID +1--这里计数器加1 EndGO
CREATE PROCEDURE InsertDB @StartID int , @EndID int AS ... Begin Insert Into Table Values (Select .....where id = @StartID) EndGO
@StartID int = 1000,
@EndID int = 2000
AS
While @EndID <=2000
Begin
Insert Into Table Values (Select .....)
EndGO
@EndID int = 2000
这了个值我不在存储过程中指定,通过程序传过来,怎么写这个存储过程?
AS
declare @CurrentID int
set @CurrentID = @StartID
While @CurrentID <= @EndID
Begin
Insert Into Table Values (Select .....)
EndGO
多谢你的方法,但是@CurrentID 怎么让他的值每次加1啊,照你的这个方法去做的话,@CurrentID 一直都没有改变啊,比如说我传过来的@StartID 为100,,@EndID 为104,怎样在数据库里插入100,101,102,103,104,这几条记录啊?
@StartID int = 1000,
@EndID int = 2000CREATE PROCEDURE InsertDB
@StartID int = 1000,
@EndID int = 2000
AS
While StartID <= @EndID
Begin
Insert Into Table Values (Select .....)--这里写你的插入SQL语句
Set @StartID = @StartID +1--这里计数器加1
EndGO
@StartID int ,
@EndID int
AS
...
Begin
Insert Into Table Values (Select .....where id = @StartID)
EndGO