哪位高手帮忙解决一下?

nihaonet 2012-04-24 05:02:53
表1:科目表
表名:tbgBudgetItem
列名:
字段名 中文名 数据类型 PK/FK 是否为NULL Default 关联表
BudgetItemID 主ID Int PK N 自动增长
ItemName 科目名称 Varchar(200) N
ItemCode 科目代码 Varchar(50) N
ItemState 科目状态 Char(1) N ‘1’
ItemSNO 科目序号 Varchar(50) N
Remark 备注 Varchar(500) Y ‘’

表2:预算表
表名:tbgMonthBudget
列名:
字段名 中文名 数据类型 PK/FK NULL Default 关联表
MonthBudgetID 主ID Int PK N 自动增长
BudgetItemID 科目ID Int FK N tbgBudgetItem
BudgetYear 预算年度 Int N
BudgetMonth 预算月份 Int N
Amount1 费用金额 Money N 0
Amount2 资金金额 Money N 0
Amount 合计金额 Money 0
DraftDate 起草时间 DateTime 当前系统时间
Remark 备注 Varchar(500) Y ‘’


问题一:(5分)
用SQL语言创建表1和表2;(建议写成存储过程实现)
要求:
可以重复运行。考虑表存在的情况要先做删除;
数据类型要正确(类型参照上述数据字典);
主外键要清晰及关联表(参照上述数据字典)

问题二:(5分)
用SQL语句在表1中插入以下5条数据
BudgetItemID ItemName ItemCode ItemState ItemSNO Remark
1000 会议费 A ‘1’ 001 公司会议费
1001 差旅费 B ‘1’ 002
1002 招待费 C ‘0’ 003
1003 广告费 D ‘1’ 004
1004 开发费 E ‘1’ 005
insert into tbgMonthBudget values(1000,'会议费','A','1','001','公司会议费');
insert into tbgMonthBudget values(1001,'会议费','B','1','002','');
insert into tbgMonthBudget values(1002,'会议费','C','0','003','');
insert into tbgMonthBudget values(1003,'会议费','D','1','004','');
insert into tbgMonthBudget values(1004,'会议费','E','1','005','');
用SQL语句在表2中插入下面描述的数据:
预算科目来源表1状态为‘1’的科目,
预算年度为2009;预算月份1月到12月;
费用金额为月份的2倍;每季度最末的月份的资金金额等于本季度各个月份费用金额之和,其它月份的资金金额为0;合计金额字段=费用金额+资金金额;
例如:
MonthBudgetID BudgetItemID BudgetYear BudgetMonth Amount1 Amount2 Amount DraftDate Remark
1000 1000 2009 1 2 0 2
1001 1000 2009 2 4 0 4
1002 1000 2009 3 6 12 18
…… …… …… …… …… …… …… …… ……


问题三:(20分)
根据上表一和表二的数据,统计金额字段tbgMonthBudget.Amount,编写一个存储过程,运行该存储过程结果如下:
提示:建议在数据展示中使用临时表,如需循环,建议使用游标;
预算科目 09年1月 09年2月 09年3月 09年4月 09年5月 09年6月 09年7月 09年8月 09年9月 09年10月 09年11月 09年12月
会议费
差旅费
招待费
广告费
开发费

第三部分 (.Net编程基础题)(10分)
1、 将上述上部分问题三的数据写成一个XML文档的输出并存在D:\Temp下;再读取保存的XML文档数据输出到页面上(页面展现的控件自己选择);
a) 要求:
i. 能够对一个已经存在的XML文档进行读写;
ii. XML文档结构按照需求自行定义;
iii.计算整个程序运行的时间,并输出但页面。
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
学生?面试?不说不做
了解 2012-04-30
  • 打赏
  • 举报
回复
lz:这是其中一个表的写法,你可以根据这个写其它的。
if not Exists(select * from SysObjects Where name='tbgBudgetItem')
begin
Create Table tbgBudgetItem
(
BudgetItemID identity(int,1,1) Not Null, --主ID
ItemName varchar(200) Not Null, --科目名称
ItemCode varchar(50) Not Null --科目代码
ItemState char(1) Not Null, default '1' --科目状态
ItemSNO varchar(50) Not Null, --科目序号
Remark Varchar(500) default '' -- 备注
Constraint pBudgetItemID Primary Key(BudgetItemID),
)
end

你的问题2最好有表有数据贴出来。

希望你成功。
發糞塗牆 2012-04-30
  • 打赏
  • 举报
回复
兄弟,这个貌似是课堂就应该掌握的知识哦?如果你没好好学习,我建议你不要进入数据库领域了,做个单纯的程序员吧.如果你在学,而这些题目也不懂,我觉得你没有对自己负责.这些题很简单.所以我不想回答你.后面的路会遇到比这些难千倍的问题.如果你不一步一步走过去,那么不到1、2年我保证你就会放弃数据库。还是好好学一下。不要为了考试或者面试而本末倒置。也不要让别人雇佣你之后才发现你是一个庸才而看不起你。
zhengdows 2012-04-28
  • 打赏
  • 举报
回复
你这是面试题吗?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧