数据库笔记 5

来源:互联网 发布:听打测试软件 编辑:程序博客网 时间:2024/06/07 13:00

6.1常用系统存储过程

sp_attact_db 附加数据库

sp_detach_db 分离数据库

sp_rename给对象改名

sp_help显示数据库相关数据

sp_changedbowner改变数据库所有者

sp_password改密码

6.2

exec sp_detach_db'newlts'/*分离数据库*/

 

6.3

exec sp_attach_db@dbname='newlts',@filename1='D:\Program Files\Microsoft SQLServer\MSSQL12.MSSQLSERVER\MSSQL\DATA\newlts.mdf'/*附加数据库*/

 

6.4

exec sp_renamedbnewlts,newltsA/*改变数据库名称*/

exec sp_rename'网站职员表','新网站职员表'/*改变表名称*/

 

6.6

随时修改存储过程;

控制对用户的访问权限;

提高sql执行效率;

减轻网络负担(本地发命令到服务器执行存储过程);

 

6.7

/*创建存储过程*/

create proc newProc

as

begin

print 'hello,world'

end

 

/*调用存储过程*/

execnewProc

 

 

6.9对存储过程使用普通参数

/*创建存储过程*/

create proc newproc2

/*调用时要传递进来的两个参数*/

@testString1varchar(60),

@testString2varchar(60)

as

begin

print '第一个参数为:'+@testString1

print '第二个参数为:'+@testString2

end

 

/*调用存储过程*/

execnewproc2'大家好','我是张奎勋'

输出:

第一个参数为:大家好

第二个参数为:我是张奎勋

 

 

6.10对存储过程使用输出参数

/*创建存储过程,定义普通参数A和普通参数B,并定义输出参数*/

create proc newProc3

@testVarAint,

@testVarBint,

@testSumint Output

as

begin

set @testSum=@testVarA+@testVarB

end

 

 

6.11

/*调用上面已创建的存储过程:*/

declare@testA int

set@testA=60

print@testA

executenewProc3600,300,@testAOutput

print@testA

输出:

60

900

 

 

6.12

/*创建存储过程,查询数据*/

create proc newProcA

@testNameAvarchar(30)

as

begin

select *from 第二网站职员表 where 姓名=@testNameA

end

 

/*执行上面的存储过程*/

executenewProcA'网站职员表之小孙'

 

 

6.14修改存储过程

选中存储过程表,右键,修改

ALTER proc [dbo].[newProcA]

@testMoneymoney output

as

begin

select@testMoney=Max(工资)from 第二网站职员表

end

 

/*调用存储过程,申明变量,执行存储过程,输出变量*/

declare@MaxMoney money

executenewProcA@MaxMoney output

select@MaxMoney as 工资最高的员工工资

 

 

6.16

/*重命名存储过程*/

sp_rename newProc,reNameProc

 

/*删除存储过程*/

drop Proc reNewProc

 

 

6.17创建存储过程的实例

create proc ProcSimple1

@testVarint,

@testVar1int

as

begin

if@testVar>@testVar1

    print cast(@testVar asvarchar(10))+'大于'+cast(@testVar1as varchar(10))

else if @testVar<@testVar1

    print cast(@testVar asvarchar(10))+'小于'+cast(@testVar1as varchar(10))

else

    print cast(@testVar asvarchar(10))+'等于'+cast(@testVar1as varchar(10))

end

 

/*调用存储过程*/

execProcSimple1100,300

 

 

6.19创建用户名和密码的存储过程实例

create proc testUser

@testPassWordvarchar(60),

@testUservarchar(60)

as

begin

declare@testMsg varchar(100)

if@testUser='user1'

    begin

    if@testPassWord='123'

    set @testMsg='欢迎user1进入我的世界'

    else

    set @testMsg='对不起,密码错误'

    end

else if @testUser='user2'

    begin

    if@testPassWord='abc'

    set @testMsg='欢迎user2进入我的世界'

    else

    set @testMsg='对不起,密码不正确'

    end

else

    set @testMsg='请输入正确的用户名和密码!'

print@testMsg

end

 

/*调用上面的执行过程*/

exectestUser123,'user1'

0 0
原创粉丝点击