CREATE PROCEDURE add_new_info
@ksort VARCHAR(30),
@kdjh VARCHAR(30),
@kname VARCHAR(30),
@kcode VARCHAR(30),
@kmuch int,
@kprice numeric(18, 2),
@ksum numeric(18, 2),
@knote nvarchar (100),
@kdate datetime,
@now_much int output
AS DECLARE @RC INT
set nocount on SELECT @RC=0
if exists (select * from kdepot where kcode= @kcode and kname =@kname)
begin
Select @now_much =knumber from kdepot where kcode= @kcode and kname =@kname
end
if @now_much > @kmuch
begin
SELECT @now_much=@now_much-@kmuch
INSERT INTO ksell VALUES(@ksort,@kdjh,@kname,@kcode,@kmuch,@kprice,@ksum,@knote,@kdate)
SELECT @RC=@@ERROR
IF @RC<>0
Begin
SELECT 'Can not insert record into Kexama'
select @now_much =-2
End
else
begin
UPDATE kdepot SET kmuch =kmuch -@kmuch,ksum =ksum -@ksum where kcode= @kcode and kname =@kname
SELECT @RC=@@ERROR
IF @RC<>0
SELECT 'Can not insert record into Kexama'
select @now_much =-3
endend
else
Select @now_much =-1
這是改后的
@ksort VARCHAR(30),
@kdjh VARCHAR(30),
@kname VARCHAR(30),
@kcode VARCHAR(30),
@kmuch int,
@kprice numeric(18, 2),
@ksum numeric(18, 2),
@knote nvarchar (100),
@kdate datetime,
@now_much int output
AS DECLARE @RC INT
set nocount on SELECT @RC=0
if exists (select * from kdepot where kcode= @kcode and kname =@kname)
begin
Select @now_much =knumber from kdepot where kcode= @kcode and kname =@kname
end
if @now_much > @kmuch
begin
SELECT @now_much=@now_much-@kmuch
INSERT INTO ksell VALUES(@ksort,@kdjh,@kname,@kcode,@kmuch,@kprice,@ksum,@knote,@kdate)
SELECT @RC=@@ERROR
IF @RC<>0
Begin
SELECT 'Can not insert record into Kexama'
select @now_much =-2
End
else
begin
UPDATE kdepot SET kmuch =kmuch -@kmuch,ksum =ksum -@ksum where kcode= @kcode and kname =@kname
SELECT @RC=@@ERROR
IF @RC<>0
SELECT 'Can not insert record into Kexama'
select @now_much =-3
endend
else
Select @now_much =-1
這是改后的
begin
...
end else
begin
...
end
就行了
按你写的语法检测通过,可又出现:
错误 21037: [sql - dmo] 在 text 属性的 "create ... "语名中指定的名称必须与 name 属性匹配,而且后必须跟有效的的tsql语句。
这是怎么回事?第一次遇到!!!在线等待!