数据库笔记 5

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,@testA Output

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 as varchar(10))+'大于'+cast(@testVar1 as varchar(10))

else if @testVar<@testVar1

    print cast(@testVar as varchar(10))+'小于'+cast(@testVar1 as varchar(10))

else

    print cast(@testVar as varchar(10))+'等于'+cast(@testVar1 as 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值