if exists (select * from sysdatabases where name ='BankCard')
drop database BankCard
go
create database BankCard/*创建数据库*/
use BankCard
create table Bank
(
CardID char(10) primary key,
BankName varchar(20)not null,
UserName varchar(20)not null,
Depisit money not null,
Payout money not null
)
alter table Bank add constraint DF_Depisit default (0) for Depisit
alter table Bank add constraint DF_Payout default (0)for Payout
if exists (select * from sysobjects where name='trade')
drop table trade
create table Trade
(
TradeID int identity(1,1),
CardID char(10),
TradeDate DateTime not null,
TradeMoney Money,
TradeType char
)
alter table Trade add constraint PK_TradeID primary key(TradeID),
alter table Trade add constraint FK_CardID foreign key (CardID) references Bank(CardID),
alter table Trade add constraint CK_TradeMoney check (TradeMoney>0)
/*触发器(trigger)*/
if exists (select * from sysobjects where name ='trig_Bank')
drop trigger trig_Bank
create trigger trig_Bank
on Trade /*trig_Bank为触发器的名称,Bank为表的名称*/
for insert/*可以为inser、delete、select、update*/
as
declare @type char(4),@balance money,@outMoney money,@myCardID int
/*定义变量,用于临时存储
/*从临时表中获取插入的记录:类型、卡号、金额*/
select @type=TradeType,@outMoney=TradeMoney,@myCardID=CardID from inserted
if(@type='支取')
update bank set Payout =Payout-@outMoney where cardID=@myCardID
insert into trans(cardID,transType,transMoney)
values('10001000',支取,200)
go
select * from Bank
select *from trade
分享到:
相关推荐
详细的代码,绝对的正确,老师检查合格,关于银行账户存款,取款的代码,很不错的希望可以给大家帮助
在SQL SERVER版的ATM(自动取款机)银行操作系统中,数据库技术起着至关重要的作用。这个系统基于Microsoft SQL Server数据库管理系统,用于存储、管理和处理银行账户的各种交易数据。以下是一些关于此系统的详细...
【银行管理系统源代码】是一个基于C#编程语言的软件项目,旨在实现一套高效、实用的银行后台业务处理系统。这个系统通常包括多个模块,用于处理银行日常运营中的各种事务,如账户管理、交易处理、客户信息管理等。...
《VB+SQL银行设备管理系统》是一款基于Visual Basic (VB)编程语言和SQL数据库技术开发的管理软件,主要用于银行设备的日常运营与维护管理。该系统提供了全面、高效且易用的功能,帮助银行工作人员更好地监控和管理...
《SQL编写的简易银行管理系统详解》 SQL,全称Structured Query Language,是用于管理关系数据库的标准语言,其在银行管理系统的应用中起着至关重要的作用。一个“SQL写的简易银行管理系统”不仅展示了SQL的实用性...
9. **审计功能**:ATM交易通常需要记录详细的审计日志,这可以通过SQL触发器实现,记录每次操作的详细信息。 10. **并发控制**:多用户同时操作数据库时,需要处理并发问题,避免死锁和数据不一致。 11. **存储...
在信息技术领域,尤其是在数据库管理系统中,触发器是一种强大的工具,用于在特定的数据操作(如INSERT、UPDATE、DELETE)发生时自动执行一段代码。本项目“银行卡交易管理”深入探讨了如何在C#环境下利用触发器来...
在IT行业中,数据库管理系统是核心组成部分之一,而SQL Server作为微软公司推出的强大关系型数据库管理系统,广泛应用于各类企业,特别是金融领域,如银行ATM系统。在这个特定的场景下,了解并掌握SQL Server以及T-...
【VB+SQL银行设备管理系统】是一个基于Visual Basic (VB)编程语言和SQL Server数据库技术的管理系统,主要用于管理和监控银行的各类设备,如ATM机、自助服务终端等。该系统结合了前端用户界面和后端数据存储,为银行...
3. **编写触发器代码**:使用DB2的SQL DDL(数据定义语言)语句来创建触发器。 4. **测试触发器**:在安全的测试环境中验证触发器的功能,确保其按预期工作。 ### 实例:创建过账触发器 假设我们有一个银行账户表`...
触发器常用于维护数据的一致性和完整性,尤其在需要执行复杂业务逻辑时,例如银行系统中自动调整账户余额。触发器具有事务特性,这意味着它们可以参与数据库的事务管理,如果出现错误,可以回滚事务。 存储过程是预...
《Java+SQL信用卡管理系统源代码解析》 在IT领域,特别是在软件开发中,学习和理解实际项目的源代码是提升技能的重要途径。本篇文章将详细解析一个名为“Java+SQL信用卡管理系统”的项目,该项目使用Java编程语言与...
【VB+SQL银行设备管理系统】是一个基于Visual Basic (VB)编程语言和SQL数据库技术的管理信息系统,主要用于银行设备的高效管理和维护。这个系统包含了论文和源代码,为开发者提供了深入理解系统设计与实现的详细资料...
在银行系统中,存储过程和触发器是Oracle数据库中非常关键的特性。存储过程是一组预编译的SQL语句,可以被封装成一个命名的单元,便于多次调用和执行。在银行系统中,存储过程常用于执行复杂的业务操作,比如转账、...
通过编写触发器代码,可以实现在执行插入操作后,如果交易类型为“支取”,则自动从相应的账户余额中扣除交易金额;如果为“存款”,则将金额加到账户余额上。这一过程完全自动化,无需额外的业务逻辑调用。 案例...
SQL Server 2000中的触发器是数据库对象,它们在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行。...在SQL Server 2000中,正确地利用触发器可以帮助构建更加健壮和安全的数据库系统。
此外,"触发器"的实现是银行管理系统的重要组成部分。触发器是一种数据库对象,可以在特定事件(如INSERT、UPDATE、DELETE)发生时自动执行,以满足业务规则。例如,在存取款操作中,触发器可以确保账户余额的正确...
【银行模拟系统(ASP.NET+SQL 2000)】是一个基于Web的应用程序,用于模拟银行的各项操作,包括开户、存款、取款、转账、贷款等服务。这个系统使用了微软的技术栈,主要由ASP.NET框架构建前端界面,与后端的SQL Server...