很简单的 存储过程问题~~
- SQL code
CREATE PROCEDURE ChanceAdd@cChanceCode varchar(50), @cChanceName varchar(50),@iId intinsert into KHGL_Chance(cChanceCode,cChanceName,iId) values(@cChanceCode,@cChanceName,@iId)Go
我想在KHGL_Chance增加记录的同时 更新另一个表的一项
我接在上面语句后写的
declare @iCustomerId int
update KHGL_Customer set iCusStatus=1 where iCustomerId=@iCustomerId
检查能通过,保存后。打开存储过程发现还是原来的存储过程,也就是说
declare @iId int
update KHGL_Customer set iCusStatus=1 where iId=@iId
这一句没能保存。
各位兄弟,怎么要怎么写阿。我的SQL实在是不怎么样~~
注:@iId 参数在两个表中是相同的。也就是说在第一个表中保存传过来得iId 的值,第二个表中利用传过来得iId更新
[解决办法]
关掉数据库,重新打开
或者关掉电脑,重新启动
[解决办法]
alter PROCEDURE ChanceAdd
@cChanceCode varchar(50), @cChanceName varchar(50),@iId int
insert into KHGL_Chance(cChanceCode,cChanceName,iId)
values(@cChanceCode,@cChanceName,@iId)
declare @iId int
update KHGL_Customer set iCusStatus=1 where iId=@iId
Go
[解决办法]
"我想在KHGL_Chance增加记录的同时 更新另一个表的一项"
触发器
[解决办法]
- SQL code
CREATE PROCEDURE ChanceAddas@cChanceCode varchar(50), @cChanceName varchar(50),@iId intinsert into KHGL_Chance(cChanceCode,cChanceName,iId) values(@cChanceCode,@cChanceName,@iId)update KHGL_Customer set iCusStatus=1 where iCustomerId=@iIdGo