@WareHouseCode nvarchar(50),@Description nvarchar(50),
@ParentWareHouseID int,@IsActive bit,
@UserName nvarchar(30),@IsExceptionAllowed bit,@Quota money,
@InsertIDList varchar(6000),@WareHouseID int output AS
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRANSACTION
INSERT INTO WareHouses VALUES (@WareHouseCode, @Description, @ParentWareHouseID, @IsActive, @UserName, @IsExceptionAllowed,@Quota)
SELECT @WareHouseID = @@IDENTITY
-- Insert Detail List
IF @InsertIDList IS NOT NULL
begin
declare @ret int
EXECUTE @ret = sp_insertWareHouseDetail @WareHouseID, @InsertIDList
if @ret < 0
begin
rollback
select @WareHouseID = -1
return @ret;
end
end
COMMIT TRANSACTION
SELECT @WareHouseID 'WareHouseID '
GO
麻烦帮忙把关键的地方做下注释好吗??
我就不知道这个存储过程到底是输出的什么,
是return??
还是输出的最后一句?如果是最好一句的话是@WareHouseID 跟'WareHouseID '都输出吗??
难道存储过程要输出两次?困惑中!
@ParentWareHouseID int,@IsActive bit,
@UserName nvarchar(30),@IsExceptionAllowed bit,@Quota money,
@InsertIDList varchar(6000),@WareHouseID int output AS
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRANSACTION
INSERT INTO WareHouses VALUES (@WareHouseCode, @Description, @ParentWareHouseID, @IsActive, @UserName, @IsExceptionAllowed,@Quota)
SELECT @WareHouseID = @@IDENTITY
-- Insert Detail List
IF @InsertIDList IS NOT NULL
begin
declare @ret int
EXECUTE @ret = sp_insertWareHouseDetail @WareHouseID, @InsertIDList
if @ret < 0
begin
rollback
select @WareHouseID = -1
return @ret;
end
end
COMMIT TRANSACTION
SELECT @WareHouseID 'WareHouseID '
GO
麻烦帮忙把关键的地方做下注释好吗??
我就不知道这个存储过程到底是输出的什么,
是return??
还是输出的最后一句?如果是最好一句的话是@WareHouseID 跟'WareHouseID '都输出吗??
难道存储过程要输出两次?困惑中!
--定义变量
DECLARE @WareHouseCode nvarchar(50),
@Description nvarchar(50),
@ParentWareHouseID int,
@IsActive bit,
@UserName nvarchar(30),
@IsExceptionAllowed bit,
@Quota money,
@InsertIDList varchar(6000),
--定义输入id变量
@WareHouseID int output AS
--插入数据
INSERT INTO WareHouses VALUES (@WareHouseCode, @Description, @ParentWareHouseID, @IsActive, @UserName, @IsExceptionAllowed,@Quota)
--取出数据的WareHouseID 输入
SELECT @WareHouseID = @@IDENTITY
IF @InsertIDList IS NOT NULL
begin
declare @ret int
EXECUTE @ret = sp_insertWareHouseDetail @WareHouseID, @InsertIDList
if @ret < 0
begin
rollback --回滚
select @WareHouseID = -1
return @ret;
end
end
COMMIT TRANSACTION --提交事务
SELECT @WareHouseID 'WareHouseID'
END
--最后一句你要是不明白就运行一下这个
--一看你就明白了
declare @aa varchar(200) --定义变量
set @aa=111 --给值
select @aa 'id' --定义别名,也就是字段名