python数据分析与应用实训题答案第七章_祝锡永数据库第七章习题答案

/*

第七章习题

*/

/*1*/

drop procedure p1

go

create procedure p1 @cname varchar(50)

as

;with tmp as(

select b.categoryid,categoryname,SUM(amount) as 'amt' from OrderItems a

join Products b on a.ProductID =b.ProductID

join Categories c on b.CategoryID =c.CategoryID

group by b.CategoryID ,CategoryName )

select amt from tmp where categoryname=@cname

go

execute p1 'Confections'

/*2*/

drop procedure p2

go

create procedure p2 @pname varchar(80)

as

;with tmp as (

select

a.productid,productname,RANK()

over

(order

by

sum(amount))

as

'rankid'

from

OrderItems a

join Products b on a.ProductID =b.ProductID

group by a.ProductID ,productname)

select rankid from tmp where ProductName=@pname

go

execute p2 'Tofu'

/*3*/

drop procedure p3

go

create procedure p3 @tablename varchar(40),@cname varchar(40)

as

declare @sql varchar(2000)

set

@sql='if

not

exists

(select

data_type,character_maximum_length

from

INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='''

set @sql=@sql+@tablename+''' and COLUMN_NAME='''

set @sql=@sql+@cname+''')'+CHAR(13)

set @sql=@sql+char(9)+'print '''+'*'+''''+CHAR(13)

set @sql=@sql+'else'+CHAR(13)

set

@sql=@sql+char(9)+'select

data_type,character_maximum_length

from

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值