1、实验八14124016一、系统存储过程1.查看数据库的版本(selectversion)方法一:方法二:方法三:2.查看数据库启动的参数(sp_configure)3.查看所有数据库名称及大小(sp_helpdb)重命名数据库用的SQL(sp_renamedb SPJ_14124016, 实验八_14124016)4.查看所有数据库用户登录信息(sp_helplogins)查看所有数据库用户所属的角色信息 (sp_helpsrvrolemember) 5.查看某数据库下某个数据对象的大小 (sp_spaceused objname)还可以用sp_toptables过程看最大的N(默认为50)个
2、表 查看某数据库下某个数据对象的索引信息 (sp_helpindex objname)6.查看数据库里所有的存储过程和函数 usedatabase_namesp_stored_procedures 查看存储过程和函数的源代码 sp_helptext procedure_name7.查看数据库里用户和进程的信息 (sp_who) 查看SQL Server数据库里的活动用户和进程的信息 (sp_who active)8.显示表的相关信息(sp_help)2、自定义存储过程1.为S表创建查询所有信息的存储过程,不带参数create procedure s1as select *from sexec
3、s12.创建一个不带参数的存储过程,从P中选择所有零件重量大于20的记录,输入如下语句,单击“执行”,create proc getp1as select *from Pwhere weight20exec getp13.创建一个带参数的存储过程,从P表中选择零件重量介于15到30之间的记录,输入如下语句,单击“执行”,create proc getp2min int , max int as select * from p where weight between min and maxdeclare min int,max intexec getp2 15,304.创建与执行带输入、输出参
4、数的存储过程,实现显示P表中给定零件号的信息,并输出SPJ中该零件使用的最高数量和最低数量。create proc getpj3pno varchar (20) ,max int output,min int outputas select * from p where pno=pno select max=max(qty) from spj where pno=pnoselect min=min(qty) from spj where pno=pnodeclarex1 int, x2 intexec getpj3 ,x1 output,x2 outputselect x1 as 最高数量,
5、x2 as 最低数量5.创建一个存储过程proc_(本人学号),查询S表中所有所在城市为北京的供应商的相关信息。create proc s1*as select *from swhere city=北京exec s1*6.创建一个名为P_QTY_(本人学号)的存储过程,可查询出某段零件号在spj表中的总数量 (零件号起始号与终止号在调用时输入,可设默认值)。 create proc p_qty_14124016pmin char(2)=p1,pmax char(2)=p6asselect sum(qty) as 零件总数量from spjwhere pno between pmin and p
6、maxexec p_qtyexec p_qty p1,p1exec p_qty p1,p3exec p_qty p3,p17创建一个存储过程proc_J_(本人学号),能够根据工程名查询供应商名。(当工程名不存在时给出提示信息)create proc proc_J_14124016jname char(10),jno char(4) =nullas select jno=jno from j where jname=jnameif jno is not null select distinct sname 供应商名from spj,s,jwhere spj.sno=s.sno and spj.jno=j.jno and j.jname=jnameelse printError:该工程不存在exec proc_J_14124016 三建exec proc_J_14124016 二船厂
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2