WEB开发网
开发学院数据库MSSQL Server SQL Server存储过程嵌套示例 阅读

SQL Server存储过程嵌套示例

 2007-05-31 15:23:17 来源:WEB开发网   
核心提示:1)事例数据库表:企业信息表 表名称 prd_wxt_enterprise_tbl_EnterpriseInfo 数据来源


1)

事例数据库表:



企业信息表


表名称 prd_wxt_enterprise_tbl_EnterpriseInfo
数据来源  
存储数据 企业信息表
主键/外键  
字段名称 说明 类型(精度范围) 备注
cEnterpriseId n      企业ID Char(10)  
sEnterpriseName n      企业名称 Varchar(200)  
sShortName n      简称 Varchar(50)  
sAddress n      地址 nVarchar(200)  
E_system n      企业所属系统(0新系统,空或1为旧系统) Char(1)  

产品表

表名称 Shop_tbl_ProductInfo
数据来源  
存储数据 产品表
主键/外键  
字段名称 说明 类型(精度范围) 备注
P_Code(PK) n      产品SKU号,即下单号,产品系统编号(p123456789) Char(10) not null
EnterpriseId n      企业ID Char(10) not null
P_Name n      产品名称 Nvarchar(100) not null
P_Price n      产品价格(单位元) Money  
P_UserPrice n      产品会员价(单位元) Money  
Remark n      备注 Nvarchar(500)  
       

2)     要实现的功能:
删除旧企业数据及相关的产品,要求用嵌套存储过程实现
3)     存储过程:包括两个存储过程
a)     存储过程一:根据企业ID,删除该企业及下面的产品:
存储过程代码如下:
/*
功能:删除企业,同时删除关联的表,包括企业表及其关联的产品表数据
创建人:
创建日期:2007-4-10
修改日期:2007-4-10
*/
CREATE PROCEDURE [DeleteEnterprise]
(
 @EnterpriseID nvarchar(10)
)
AS
declare @strSQL nvarchar(4000)
--删除企业产品表
select @strSQL = "delete from Shop_tbl_ProductInfo where EnterpriseId='"+@EnterpriseID+"'";
exec(@strSQL)
--删除企业表
select @strSQL = "delete from prd_wxt_enterprise_tbl_EnterpriseInfo where cEnterpriseID='"+@EnterpriseID+"'";
exec(@strSQL)
GO

1 2  下一页

Tags:SQL Server 存储

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接