T-SQL程序练习03

news2024/12/23 9:29:30

目录

一、利用 𝑆𝑒𝑎𝑠𝑜𝑛 表,参照结果,写一个存储过程𝑆𝑒𝑎𝑠𝑜𝑛𝐿𝑎𝑛𝑑𝑆𝑐𝑎𝑝

1. 具体要求

2. T-SQL程序代码

3. 结果显示

二、写一个存储过程 𝑀𝑎𝑔𝑖𝑐𝑁𝑢𝑚𝑏𝑒

1. 具体要求

2. T-SQL程序代码

3. 结果显示

三、写存储过程验证四年级数学题

1. 具体要求

2. T-SQL程序代码

3. 结果显示

四、利用𝐶𝑜𝑠𝑚𝑒𝑡𝑖𝑐 表,参照结果,写一个存储过程 𝐶𝑜𝑠𝑚𝑒𝑡𝑖𝑐𝑅𝑒𝑝𝑜𝑟

1. 具体要求

2. T-SQL程序代码

3. 结果显示


一、利用 𝑆𝑒𝑎𝑠𝑜𝑛 表,参照结果,写一个存储过程𝑆𝑒𝑎𝑠𝑜𝑛𝐿𝑎𝑛𝑑𝑆𝑐𝑎𝑝

1. 具体要求

1)建立 𝑆𝑒𝑎𝑠𝑜𝑛 表并插入数据

2)利用 𝑆𝑒𝑎𝑠𝑜𝑛 表,参照如下转 换规则,写一个存储过程𝑆𝑒𝑎𝑠𝑜𝑛𝐿𝑎𝑛𝑑𝑆𝑐𝑎𝑝𝑒,实现如右边类似的格式输出

  

2. T-SQL程序代码

/* 建表 */
create table Season(
  linetext varchar(50)
)

/* 插入数据 */
insert into Season values('莺啼岸柳弄春晴夜月明')
insert into Season values('香莲碧水动风凉夏日长')
insert into Season values('秋江楚雁宿沙洲浅水流')
insert into Season values('红炉透炭炙寒冬御雪风')

/* 查询表是否成功插入数据 */
select * from Season

/* 存储过程 */
create procedure SeasonLandScape
as
  declare @linetext varchar(50)
  declare @tempStr varchar(50)
  declare line_cursor1 cursor for
  select * from Season
  print '春夏秋冬'
  open line_cursor1
  fetch next from line_cursor1 into @linetext
  while @@FETCH_STATUS=0
    begin
      print @linetext
	  fetch next from line_cursor1 into @linetext
    end
  declare line_cursor2 cursor for
  select * from Season
  print ''
  print '四时山水回文诗'
  open line_cursor2
  fetch next from line_cursor2 into @linetext
  while @@FETCH_STATUS=0
  begin
    set @tempStr=''
    set @tempStr=substring(@linetext,1,7)+','
	set @tempStr=@tempStr+substring(@linetext,4,7)
	print @tempStr
	set @linetext=reverse(@linetext)
	set @tempStr=substring(@linetext,1,7)+','
	set @tempStr=@tempStr+substring(@linetext,4,7)
	print @tempStr
	print ''
	fetch next from line_cursor2 into @linetext
  end
close line_cursor1
deallocate line_cursor1
close line_cursor2
deallocate line_cursor2

/* 测试 */
exec SeasonLandScape

3. 结果显示

二、写一个存储过程 𝑀𝑎𝑔𝑖𝑐𝑁𝑢𝑚𝑏𝑒

1. 具体要求

写一个存储过程 𝑀𝑎𝑔𝑖𝑐𝑁𝑢𝑚𝑏𝑒𝑟,实现类似如下图片的运行结果

要求1:等号左边的数按照规律循环产生

要求2:等号右边的数由左边的表达式计算产生

2. T-SQL程序代码

/* 存储过程 */
create procedure MagicNumber
as
  declare @outNum bigint
  declare @inNum bigint
  declare @str varchar(50)
  declare @result bigint
  select @outNum=1,@inNum=1,@str=''
  while(@outNum<=9)
  begin
    while(@inNum<=@outNum)
	begin
	  set @str=@str+cast(@inNum as varchar)
	  set @inNum=@inNum+1
	end
	set @inNum=cast(@str as bigint)
    set @str=@str+' × 8 + '+cast(@outNum as varchar)+' = '
	set @result=@inNum*8+@outNum
	set @str=@str+cast(@result as varchar)
	print @str
	set @str=''
	set @inNum=1
	set @outNum=@outNum+1
  end

/* 测试 */
exec MagicNumber

3. 结果显示

三、写存储过程验证四年级数学题

1. 具体要求

认真阅读下面文章

 理解如下输出

  

2. T-SQL程序代码

/*(自己写的取得最大数和最小数)*/
create procedure GetMaxAndMin(
  @a int,
  @b int,
  @c int,
  @d int,
  @Max int output,
  @Min int output
)
as
begin
  declare @tempTable table(n int)
  insert into @tempTable values(@a)
  insert into @tempTable values(@b)
  insert into @tempTable values(@c)
  insert into @tempTable values(@d)
  declare @tempStr int
  declare @str varchar(10)
  declare num_cursor cursor for
  select n from @tempTable order by n desc
  select @str=''
  open num_cursor
  fetch next from num_cursor into @tempStr
  while @@FETCH_STATUS=0
  begin
    set @str=@str+cast(@tempStr as varchar)
	fetch next from num_cursor into @tempStr
  end
  set @Max=cast(@str as int)
  set @Min=cast(reverse(@str) as int)
  close num_cursor
  deallocate num_cursor
end

/*看别人写的获得最大数和最小数(直接用select就可以了,不用游标。。。)*/
create procedure GetMaxAndMin(
  @a int,
  @b int,
  @c int,
  @d int,
  @Max int output,
  @Min int output
)
as
begin
  declare @str varchar(20)
  declare @temptable table(n varchar(20))
  set @str=''
  insert into @temptable
  select @a union all
  select @b union all
  select @c union all
  select @d
  select @str=@str+n from @temptable order by n desc
  set @Max = cast(@str as int)
  set @Min = cast(reverse(@str) as int)
end

/* 主存储过程 */
create procedure MaxMinusMin(
  @a int,
  @b int,
  @c int,
  @d int
)
as
begin
  declare @max int
  declare @min int
  declare @result int
  declare @result1 int
  declare @result2 int
  declare @recordNum int
  select @recordNum=1,@result1=0,@result2=1
  while(@result1!=@result2)
  begin
    exec GetMaxAndMin @a,@b,@c,@d,@max output,@min output
	set @result=@max-@min
	if(@recordNum%2=1)
	  set @result1=@result
	else
	  set @result2=@result
	if(@result1!=@result2)
	  print cast(@max as varchar)+' - '+
	        cast(@min as varchar)+' = '+
		    cast(@result as varchar)
	set @a=@result%10
	set @result=@result/10
	set @b=@result%10
	set @result=@result/10
	set @c=@result%10
	set @result=@result/10
	set @d=@result%10
	set @result=@result/10
	set @recordNum=@recordNum+1
  end
end

/* 测试 */
exec MaxMinusMin 8,7,3,2
exec MaxMinusMin 5,8,4,4

3. 结果显示

四、利用𝐶𝑜𝑠𝑚𝑒𝑡𝑖𝑐 表,参照结果,写一个存储过程 𝐶𝑜𝑠𝑚𝑒𝑡𝑖𝑐𝑅𝑒𝑝𝑜𝑟

1. 具体要求

建立 𝐶𝑜𝑠𝑚𝑒𝑡𝑖𝑐 表并插入数据

 

写一个存储过程 𝐶𝑜𝑠𝑚𝑒𝑡𝑖𝑐𝑅𝑒𝑝𝑜𝑟𝑡,实现如右侧类似输出

2. T-SQL程序代码

/* 建表 */
create table Cosmetic(
  大类 varchar(20),
  小类 varchar(20),
  品名 varchar(20)
)

/* 插入数据 */
insert into Cosmetic values('护肤类','清洁皮肤','清洁霜')
insert into Cosmetic values('护肤类','保护皮肤','雪花霜')
insert into Cosmetic values('护肤类','保护皮肤','冷霜')
insert into Cosmetic values('护肤类','保护皮肤','防晒霜')
insert into Cosmetic values('护肤类','营养皮肤','人参霜')
insert into Cosmetic values('护肤类','营养皮肤','蜂王霜')
insert into Cosmetic values('护肤类','营养皮肤','防皱霜')
insert into Cosmetic values('护肤类','美化皮肤','珍珠霜')
insert into Cosmetic values('护肤类','美化皮肤','雀斑霜')
insert into Cosmetic values('护肤类','美化皮肤','粉刺霜')
insert into Cosmetic values('发用类','美发','电烫液')
insert into Cosmetic values('发用类','美发','冷烫液')
insert into Cosmetic values('发用类','美发','染发剂')
insert into Cosmetic values('发用类','护发','发油')
insert into Cosmetic values('发用类','护发','发蜡')
insert into Cosmetic values('发用类','护发','发乳')
insert into Cosmetic values('发用类','护发','护发素')
insert into Cosmetic values('发用类','洗发','珠光香波')
insert into Cosmetic values('发用类','洗发','膏状香波')
insert into Cosmetic values('美容类','身体','香粉')
insert into Cosmetic values('美容类','脸','胭脂')
insert into Cosmetic values('美容类','脸','腮红')
insert into Cosmetic values('美容类','眉毛','眉笔')
insert into Cosmetic values('美容类','嘴唇','唇膏')
insert into Cosmetic values('美容类','指甲','指甲油')
insert into Cosmetic values('美容类','眼睛','睫毛笔')
insert into Cosmetic values('美容类','眼睛','眼线')
insert into Cosmetic values('香水类','香水','花香系列')
insert into Cosmetic values('香水类','香水','草绿香系列')
insert into Cosmetic values('香水类','古龙水','古龙水')
insert into Cosmetic values('香水类','花露水','花露水')
insert into Cosmetic values('香水类','化妆水','化妆水')

/* 建立存储过程 */
create procedure CosmeticReport
as
begin
  declare @bigClass varchar(20)
  declare @smallClass varchar(20)
  declare @brandName varchar(20)
  declare big_cursor cursor for
  select 大类 from Cosmetic group by 大类 order by 大类
  print '化妆品报告'
  print '-----------'
  open big_cursor
  fetch next from big_cursor into @bigClass
  while @@FETCH_STATUS=0
  begin
    print ''
	print '  '+@bigClass+'化妆品'
	declare @str varchar(100)
	declare small_cursor cursor for
	select distinct 小类 from Cosmetic where 大类=@bigClass
	set @str=''
	open small_cursor
	fetch next from small_cursor into @smallClass
	while @@FETCH_STATUS=0
	begin
	  set @str='    '+@smallClass+'类:'
	  declare brand_cursor cursor for
	  select 品名 from Cosmetic where 小类=@smallClass
	  open brand_cursor
	  fetch next from brand_cursor into @brandName
	  while @@FETCH_STATUS=0
	  begin
		set @str=@str+@brandName+' '
		fetch next from brand_cursor into @brandName
	  end
	  close brand_cursor
	  deallocate brand_cursor
	  print @str
	  set @str=''
	  fetch next from small_cursor into @smallClass
    end
	close small_cursor
	deallocate small_cursor
	fetch next from big_cursor into @bigClass
  end
  close big_cursor
  deallocate big_cursor
end

/* 测试 */
exec CosmeticReport

3. 结果显示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124444.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习】ID3_C4.5_CART算法总结与对比

问题 ID3、C4.5、CART算法总结与对比 前言 ID3、C4.5、CART算法是三种不同的决策树算法&#xff0c;区别主要在最优划分属性的选择上&#xff0c;下面把之前在随机森林中汇总过的复制过来&#xff0c;然后再总结下三者的不同。 三种算法所用的最优属性选择方法详述 信息增…

知识图谱系统课程笔记(二)——知识抽取与挖掘

知识图谱系统课程笔记&#xff08;二&#xff09;——知识抽取与挖掘 文章目录知识图谱系统课程笔记&#xff08;二&#xff09;——知识抽取与挖掘OWL、RDF与RDFS关系知识抽取任务定义和相关比赛知识抽取技术知识获取关键技术与难点知识抽取的子任务实体抽取命名实体识别非结构…

【微服务架构实战】第2篇之Spring Cloud Gateway介绍

我们的项目采用 Spring Cloud Gateway gateway 的版本为&#xff1a;2.2.8.RELEASE 简介&#xff1a; Spring Cloud Gateway&#xff08;2.2.8.RELEASE&#xff09; 是 Spring 公司基于 Spring 5.0&#xff0c; Spring Boot 2.0 和 Project Reactor 等技术开发的网关&#xf…

Linux系统运行时参数命令--网络IO性能监控

目录 5 网络IO性能监控 5.1 性能指标 5.2 网络信息 5.2.1 套接字信息 5.2.2 协议栈统计信息-netstat命令 5.2.3 网络吞吐-sar命令 5.2.4 连通性和延时 5.3 其他常用的网络相关命令 telnet nc mtr连通性测试 nslookup traceroute iptraf强大的网络监控 tcpdump- …

(二十五)Vue之mixin混入/合

文章目录mixin局部混入全局混入Vue学习目录 上一篇&#xff1a;&#xff08;二十四&#xff09;Vue之props配置项 下一篇&#xff1a;&#xff08;二十六&#xff09;Vue之插件 mixin 在有些业务逻辑中&#xff0c;发现在多个组件的功能业务逻辑一样&#xff0c;可以把多个…

秋招荆棘之路

找工作期间&#xff0c;在牛客网上面看到很多前辈的面经和经验总结&#xff0c;给我面试带来了很多的帮助&#xff0c;本着互助原则&#xff0c;我也总结下自己秋招的经验&#xff0c;算是一种反馈了&#xff0c;给即将毕业的学弟学妹问一些经验。 1.1 背景 首先介绍下我的背景…

Project 2: CS61BYoG

Project 2主要分为两个部分&#xff1a;phase 1&#xff08;World Generation&#xff09;和 phase 2&#xff08;Interactivity&#xff09;。 最难的个人认为是phase 1中的生成随机地图的算法。这里也主要总结以下phase1。 自己一开始在这个位置卡了一天&#xff0c;一开始做…

Android动态代理源码分析

前言 前面我们简单介绍了代理模式的使用Android设计模式详解之代理模式&#xff0c;我们也明白了动态代理模式的重要性&#xff0c;那动态代理究竟是如何实现将方法交给InvocationHandler.invoke执行的呢&#xff1f;本文就从源码的角度一步步去探究这个问题&#xff1b; 源码…

开发工具与低代码开发平台丨上海道宁联合Grapecity为您提供各类软件开发工具和服务

Grapecity 提供软件开发技术和低代码平台 通过各类软件开发工具和服务 提升开发效率 推动软件产业发展 葡萄城研发各类开发控件和 商业智能报表工具 提供控件技术和数据分析工具 基于专业控件的技术积累 发布低代码开发平台 开发商介绍 葡萄城成立于1980年&#xff0c…

C# XML基本操作

一 XML的内容 二 XML的处理方式 1 DOM 文档对象模型&#xff08;Document Object Model&#xff09; 2 SAX XML解析的简单API&#xff08;Simple API for XML&#xff09; 3 .NET提供了XML支持&#xff1a;System.XML名称空间 三 常用的XML类 1 XmlDocument .LoadXml()…

linux安装mongodb的详细教程

目录 一、下载MongoDB Community Server(社区版) 三、启动mongodb 四、利用配置文件启动mongodb服务 一、下载MongoDB Community Server(社区版) 1.1、下载地址 Download MongoDB Community Server | MongoDB 1.2、选择安装版本 二、上传下载后的mongodb安装包&#xff0c;如…

vue路由写法小结

咱们先说路由的匹配语法&#xff0c;动态路由在项目中经常用到&#xff0c;在某些情况下我们要对路径参数进行正则表达式校验。 基础用法&#xff1a; 使用正则表达式后&#xff08;仅匹配数字&#xff09;&#xff1a; 加入*传入多个params参数&#xff0c;此时参数可以传多个…

使用Nordic的nrf52832进行主从机连接抓包分析

主机使用例程&#xff1a;nRF5_SDK_17.1.0_ddde560\examples\ble_central\ble_app_blinky_c\pca10040\s132\arm5_no_packs 从机使用例程&#xff1a;nRF5_SDK_17.1.0_ddde560\examples\ble_peripheral\ble_app_blinky\pca10040\s132\arm5_no_packs nrf528321. 空中数据包格式1.…

基于Amlogic 安卓9.0, 驱动简说(二):字符设备驱动,自动创建设备

文章目录一、前言二、系列文章三、替换部分3.1 自动分配设备号3.2 自动创建设备四、解析&#xff1a;完整源码4.1 helloworld_amlogic_char_driver_auto_mknode.c4.2 Makefile五、编译执行&#xff08;1&#xff09;编译及部署&#xff08;2&#xff09;加载ko文件&#xff08;…

HCIP作业三

文章目录一&#xff0c;建立拓扑图1&#xff0c;目的&#xff1a;实现全网可达二&#xff0c;在OSPF1区域1&#xff0c;所有路由器配置IP地址&#xff08;包含OSPF100区域&#xff09;2&#xff0c;进行O1的宣告&#xff0c;不能宣告ISP网段3&#xff0c;在O1区域的R3写缺省去I…

MIT6.830-2022-lab3实验思路详细讲解

文章目录一、实验概览二、实验过程成本估算&#xff08;Cost Estimation&#xff09;&#xff1a;基数和选择率Exercise 1: IntHistogramExercise 2: TableStatsExercise 3: Join Cost EstimationExercise 4: Join Cost EstimationExtra Credit总结一、实验概览 对于这次lab&a…

尚医通-数据字典接口-前端列表(十三)

目录&#xff1a; &#xff08;1&#xff09;数据字典接口-需求和准备 &#xff08;2&#xff09;数据字典接口-列表 &#xff08;3&#xff09; 数据字典前端-列表 &#xff08;1&#xff09;数据字典接口-需求和准备 前面我们完成了医院设置模块的开发&#xff0c;现在来…

js数组篇

数组定义 var arr1new Array(33,44,55,66); var arr2[A,B,C,D]; var arr3new Array(4); 数组常用方法 splice()方法用于替换数组中的指定项 splice(3,2,X,Y,Z)&#xff1a;从下标为3的项开始&#xff0c;连续替换2项 &#xff0c;插入XYZ var arr[A,B,C,D,E,F,G]; arr.spl…

Java线程间通信机制 (等待唤醒机制)

1.1 线程间通信 概念&#xff1a;多个线程在处理同一个资源&#xff0c;但是处理的动作&#xff08;线程的任务&#xff09;却不相同。 比如&#xff1a;线程A用来生成包子的&#xff0c;线程B用来吃包子的&#xff0c;包子可以理解为同一资源&#xff0c;线程A与线程B处理的动…

[JavaEE] Thread类及其常见方法

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1.Thread 的常见构造方法 2.Thread 的几个常见属性…