绝无经由的SQL创立数据库、表、存储历程及挪用
人力成本上的节省,MySQL的用户Spacemonkey实验室的首席执行官MitchPirtle如此表示:“维护MySQL使得你不需要一个年薪15万美元的DBA。--假如存在数据库PRogrammerPay就删除ifexists(select*fromsysdatabaseswherename=programmerPay)
dropdatabaseprogrammerPay
go
--创立数据库programmerPay
createdatabaseprogrammerPay
onprimary
(
name=programmerPay_data,
filename=D:programmerPayprogrammerPay_data.mdf,
maxsize=3mb,
filegrowth=15%
)
logon
(
name=programmerPay_log,
filename=D:programmerPayprogrammerPay_log.ldf,
maxsize=1mb,
filegrowth=15%
)
go
useprogrammerPay
go
--创立表prowage
createtableprowage
(
idintidentity(1,1)notnull,--主键标识列
Pnamechar(10)notnull,--程序员姓名
wageintnotnull--程序员人为
)
go
--为表prowageid字段增加主键束缚
altertableprowage
addconstraintPK_idprimarykey(id)
--拔出测试数据
insertintoprowage(pname,wage)
values(张三,5000)
insertintoprowage(pname,wage)
values(李四,1200)
insertintoprowage(pname,wage)
values(仲春,1700)
insertintoprowage(pname,wage)
values(蓝天,5700)
insertintoprowage(pname,wage)
values(阳光,8700)
insertintoprowage(pname,wage)
values(神州,1100)
insertintoprowage(pname,wage)
values(已经躲,1300)
insertintoprowage(pname,wage)
values(ruo,1200)
insertintoprowage(pname,wage)
values(chend,1400)
--假如存在存储历程proc_addWage1就删除
ifexists(select*fromsysobjectswherename=proc_addWage1)
dropprocedureproc_addWage1
go
--创立存储历程proc_addWage1
createprocedureproc_addWage1
as
setnocounton
declare@firstwageint
select@firstwage=sum(wage)fromprowage
while(1=1)
begin
declare@notpassint,@countint--界说两个变量没到达2200的人数和总人数
select@notpass=count(*)fromprowagewherewage<2200
select@count=count(*)fromprowage
if(@notpass*2>@count)
updateprowagesetwage=wage+100
else
break
end
declare@endwageint
select@endwage=sum(wage)fromprowage
print一共加薪+convert(varchar(5),@endwage-@firstwage)
print加薪后的程序员人为列表:
selectID,Pname,wagefromprowage
go
--假如存在存储历程proc_addWage2就删除
ifexists(select*fromsysobjectswherename=proc_addWage2)
dropprocedureproc_addWage2
go
--创立存储历程proc_addWage2
createprocedureproc_addWage2
as
setnocounton
while(1=1)
begin
declare@avgwageint--界说变量均匀人为
select@avgwage=avg(wage)fromprowage
if(@avgwage<4500)
updateprowagesetwage=wage+200
else
break
end
go
execproc_addWage1--挪用存储历程proc_addWage1
execproc_addwage2--挪用存储历程proc_addwage2
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yyoanlp/archive/2009/12/21/5047942.aspxMySQL已经为支持所有最流行的Web2.0语言做好了准备,诸如Ruby、Ajax等,当然还有PHP。有的业界分析师说过,“每一个Web2.0公司实质上就是一个数据库公司。 是要和操作系统进行Socket通讯的场景。否则建议慎重! 至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。 另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程); 如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。 多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。 另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程); 你可以简单地认为适合的就是好,不适合就是不好。 Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
页:
[1]