sql语句
CREATE PROCEDURE update_CurrInformation
(
@AutoId [int],
@CId [char](4),
@FDoor [char](6),
@TDoor [char](6),
@DSort [char](4),
@Address [varchar](60),
@Units [varchar](60),
@Sort [char](8),
@Zip [char](8),
@Box [char](10),
@MDep1 [char](10),
@MDep2 [char](10),
@MDep3 [char](10),
@CSign [char](1),
@Checkman1 [char](7),
@LstUpdTm [smalldatetime])
AS
update tb_CurrInformation set CId=@CId,FDoor=@FDoor,TDoor=@TDoor,
DSort=@DSort,Address=@Address,Units=@Units,Sort=@Sort,Zip=@Zip,
Box=@Box,MDep1=@MDep1,MDep2=@MDep2,MDep3=@MDep3,CSign='0',
Checkman1=@Checkman1,LstUpdTm=@LstUpdTm where AutoId=@AutoId
GO
这里是这个修改的存储过程,但是如果这个修改的数据不存在,我就添加这些记录怎么获得这个查询后结果啊,有个标志位也好判断下是否进行添加操作,还有能不能介绍本好的讲解Transact-SQL语法的书的,以前觉得没什么用,只会简单的查询就够了,现在到公司实习,发现用好这好难。不想总上来问,自己能解决好的,真诚的希望提供本好点的书!!
问题点数:20、回复次数:3Top
1 楼zhaoanle(zhao)回复于 2006-03-03 16:03:25 得分 20
CREATE PROCEDURE update_CurrInformation
(
@AutoId [int],
@CId [char](4),
@FDoor [char](6),
@TDoor [char](6),
@DSort [char](4),
@Address [varchar](60),
@Units [varchar](60),
@Sort [char](8),
@Zip [char](8),
@Box [char](10),
@MDep1 [char](10),
@MDep2 [char](10),
@MDep3 [char](10),
@CSign [char](1),
@Checkman1 [char](7),
@LstUpdTm [smalldatetime])
AS
begin
if exists(select * from tb_CurrInformation where AutoId=@AutoId)
update tb_CurrInformation set CId=@CId,FDoor=@FDoor,TDoor=@TDoor,
DSort=@DSort,Address=@Address,Units=@Units,Sort=@Sort,Zip=@Zip,
Box=@Box,MDep1=@MDep1,MDep2=@MDep2,MDep3=@MDep3,CSign='0',
Checkman1=@Checkman1,LstUpdTm=@LstUpdTm where AutoId=@AutoId
else
insert tb_CurrInformation(CId,FDoor,TDoor,DSort,Address,Units,Sort,
Zip,Box,MDep1,MDep2,MDep3,CSign,Checkman1,LstUpdTm,AutoId)
values(@CId,@FDoor,@TDoor,@DSort,@Address,@Units,@Sort,@Zip,@Box,
@MDep1,@MDep2,@MDep3,'0',@Checkman1,@LstUpdTm,@AutoId)
end
GO
--看邹老大的书好Top
2 楼xeqtr1982(Visual C# .NET)回复于 2006-03-03 16:05:27 得分 0
CREATE PROCEDURE update_CurrInformation
(
@AutoId [int],
@CId [char](4),
@FDoor [char](6),
@TDoor [char](6),
@DSort [char](4),
@Address [varchar](60),
@Units [varchar](60),
@Sort [char](8),
@Zip [char](8),
@Box [char](10),
@MDep1 [char](10),
@MDep2 [char](10),
@MDep3 [char](10),
@CSign [char](1),
@Checkman1 [char](7),
@LstUpdTm [smalldatetime])
AS
if exists(select CId from tb_CurrInformation where AutoId=@AutoId)
begin
update tb_CurrInformation set CId=@CId,FDoor=@FDoor,TDoor=@TDoor,
DSort=@DSort,Address=@Address,Units=@Units,Sort=@Sort,Zip=@Zip,
Box=@Box,MDep1=@MDep1,MDep2=@MDep2,MDep3=@MDep3,CSign='0',
Checkman1=@Checkman1,LstUpdTm=@LstUpdTm where AutoId=@AutoId
end
else
begin
insert into tb_CurrInformation
(CId,
FDoor,
TDoor,
DSort,
Address,
Units,
Sort,
Zip,
Box,
MDep1,
MDep2,
MDep3,
CSign,
Checkman1,
LstUpdTm)
select
@CId,@FDoor,@TDoor,
@DSort,@Address,@Units,@Sort,@Zip,
@Box,@MDep1,@MDep2,@MDep3,'0',
@Checkman1,@LstUpdTm
end
GO
--看看行不Top
3 楼share1011(不知道)回复于 2006-03-03 16:25:32 得分 0
CREATE PROCEDURE update_CurrInformation
(
@AutoId [int],
@CId [char](4),
@FDoor [char](6),
@TDoor [char](6),
@DSort [char](4),
@Address [varchar](60),
@Units [varchar](60),
@Sort [char](8),
@Zip [char](8),
@Box [char](10),
@MDep1 [char](10),
@MDep2 [char](10),
@MDep3 [char](10),
@CSign [char](1),
@Checkman1 [char](7),
@LstUpdTm [smalldatetime])
AS
if exists(select CId from tb_CurrInformation where AutoId=@AutoId)
begin
update tb_CurrInformation set CId=@CId,FDoor=@FDoor,TDoor=@TDoor,
DSort=@DSort,Address=@Address,Units=@Units,Sort=@Sort,Zip=@Zip,
Box=@Box,MDep1=@MDep1,MDep2=@MDep2,MDep3=@MDep3,CSign='0',
Checkman1=@Checkman1,LstUpdTm=@LstUpdTm where AutoId=@AutoId
end
else
begin
insert into tb_CurrInformation
(CId,
FDoor,
TDoor,
DSort,
Address,
Units,
Sort,
Zip,
Box,
MDep1,
MDep2,
MDep3,
CSign,
Checkman1,
LstUpdTm)
select
@CId,@FDoor,@TDoor,
@DSort,@Address,@Units,@Sort,@Zip,
@Box,@MDep1,@MDep2,@MDep3,'0',
@Checkman1,@LstUpdTm
end
GOTop




