µ±Ç°Î»ÖãºÊ×Ò³ > SQL Server Êý¾Ý¿âÊÔÌâÓë´ð°¸A¾í
go
create table ѧÉúÐÅÏ¢ £¨
ѧºÅ varchar(20) NOT NULL PRIMARY KEY, ÐÕÃû varchar(20) NOT NULL , ÐÔ±ð varchar(10) NOT NULL, ¼®¹á varchar(20) NOT NULL, °à¼¶±àºÅ varchar(20) NOT NULL ) go
create table ³É¼¨±í (
ѧºÅ varchar(20) NOT NULL FOREIGN KEY REFERENCES ѧÉúÐÅÏ¢£¨Ñ§ºÅ£©,
¿Î³Ì±àºÅ varchar(20) NOT NULL,
³É¼¨ numeric(5,2) DEFAULT (0) CHECK(³É¼¨)=0 and ³É¼¨<=100) ÊÇ·ñÖØÐÞ varchar(8) NOT NULL ) go
2¡¢ÔÚ·ÖÏúϵͳÊý¾Ý¿âÖУ¬ ÓÐÒÔÏÂÁ½ÕÅ±í£º
Èë¿âµ¥Ã÷ϸ±í£¨Èë¿âµ¥ºÅ varchar(20)£¬ÐòºÅ int£¬²É¹º¶©µ¥±àºÅ varchar(20)£¬ÉÌÆ·±àÂë varchar (20)£¬ÉÌÆ·Ãû³Æ varchar(50)£¬¹æ¸ñÐͺŠvarchar(100)£¬µ¥Î» varchar(8)£©
Èë¿âµ¥(Èë¿âµ¥ºÅ varchar(20)£¬ÈÕÆÚ datetime £¬¹©Ó¦É̱àÂë varchar(20)£¬¹©Ó¦ÉÌÃû³Æ varchar(100)£¬ÁªÏµÈË varchar(20)£¬ÁªÏµµç»° varchar(50)£¬×ܽð¶î numeric(12,4)£¬±¸×¢ varchar(500))
ʹÓÃTransact¡ªSQLÓïÑÔ´´½¨´æ´¢¹ý³Ì£¬¸üÐÂÖ¸¶¨Èë¿âµ¥ºÅµÄÖ¸¶¨ÉÌÆ·±àÂëµÄµ¥¼ÛΪָ¶¨¼Û¸ñ£¬²¢¸üнð¶î£¬Í¬Ê±Ò²Òª¸üиÃÈë¿âµ¥Ö÷±íµÄ×ܽð¶î¡£(½ð¶î=µ¥¼Û*ÊýÁ¿)
CREATE PROCEDURE rkje
@rkdh varchar(20), @spbm varchar(20), @dj numeric(12,2) As
begin transaction
update Èë¿âµ¥Ã÷ϸ±í set µ¥¼Û=@dj
where Èë¿âµ¥ºÅ=@rkdh and ÉÌÆ·±àÂë=@spbm update Èë¿âµ¥Ã÷ϸ±í set ½ð¶î=ÊýÁ¿*µ¥¼Û where Èë¿âµ¥ºÅ=@rkdh and ÉÌÆ·±àÂë=@spbm
update Èë¿âµ¥Ö÷±í set ×ܽð¶î=£¨select sum(½ð¶î) as zje from Èë¿âÃ÷ϸ±í where Èë¿âµ¥ºÅ=@rkdh£© where Èë¿âµ¥ºÅ=@rkdh If @@Error<>0 BEGIN
ROLLBACK TRANSACTION END ELSE BEGIN
COMMIT END
TRANSACTION
¹²·ÖÏí92ƪÏà¹ØÎĵµ