有一些SQL题请教大家

[复制链接]
查看11 | 回复1 | 2010-6-21 16:00:41 | 显示全部楼层 |阅读模式
1.孤儿信息表OrphanInfo
列名 中文名称 数据类型 长度 约束 备注
OId 孤儿编号 Nchar 18 主键 有身份证的为身份证,没有的按出生年月+进入收容院年月进行编号
Oname 姓名 Varchar 16 非空
Sex 性别 Char 2 值为‘男’或‘女’
age 年龄 int大于零
BirthAddress 出生地址 Varchar 100
OI_Desc 其它情况说明 Varchar 200
2.领养人信息表AdopterInfo
列名 中文名称 数据类型 长度 约束 备注
AID 领养人身份证号 Nchar 18 主键
AName 领养人姓名 Varchar 16 非空,
Asex 性别 Char 2 值为‘男’或‘女’
AMonthIncome 月收入 Money大于等于5000
Atelephone 电话 Nchar 15 唯一
AAddress 收养人地址 Varchar 100
3.领养记录表 AdoptRecord
列名 中文名称 数据类型 长度 约束 备注
AID 领养人身份证号 NChar 18 外键参照领养人信息表的领养人身份证号
OId 孤儿身份证号 NChar 18 外键参照孤儿信息表的孤儿编号
ATime 领养时间 Datetime非空
ARAddress 领养地点 Varchar 50 非空
自定义一个函数,传入一个时间段,返回该时间段内领养人的平均月收入
定义一个存储过程,要求使用游标,将月收入大于7000的领养人所领养孤儿的领养时间加1天
因为第一个看不懂题目意思,第二个游标学得不行,请教一下大家以上的两个问题

回复

使用道具 举报

千问 | 2010-6-21 16:00:41 | 显示全部楼层
当你是MSSQL1、create function fn_avgincome(@bdate datetime,@edate datetime) returns Moneybeginreturn(select avg(AMonthIncome) from AdopterInfo a,AdoptRecord b where a.AID=b.AID and b.Time between @bdate and @edate)end2、普通语句create proc sp_test asbeginupdatea set ATime=ATime+1 from AdoptRecord awhere exists
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行