返回首页 | 金赞娱乐场

合作共赢、快速高效、优质的网站建设提供商

更多精品源码-尽在织梦模板-www.moke8.com

网站开发SQL server学习T

时间:2017-10-11 编辑:admin

2 print '服务器的称号: '+@@SERVERNAME 3 insert into stuInfo(stuName,stuNo,stu***,stuAge) 4 values('武松','s25328','男','23') 5 --如果大于0表明上一条句子履行有过错 6 print '当时过错号'+convert(varchar(5),@@ERROR) 7 print '方才报名的学员,座位号为:' 8 +convert(varchar(5),@@IDENTITY ) 9 update stuinfo set stuAge=85 10 where stuName='一壶清酒' 11 print '当时过错号'+convert(varchar(5),@@ERROR) 12 go

error指的是过错号,回来为0表正确,没有过错

逻辑操控句子

在c言语中,逻辑操控句子是if-else,switch,for,while,在sql编程中,也截然不同,这儿的逻辑操控句子分别是:if-else,while,case-end句子

if-else句子

语法格局为:

if(条件)
 begin
 begin
 end

留意:begin…end相当于c言语中的大括号,有多条句子才运用begin…end,相当于begin…end之间的句子就是一个句子块

看个实例更简略了解,例:

declare @myavg float
select @myavg=avg(writexam) from stumake
print '本班平均分' + convert(varchar(5),@myavg)
if(@myavg 70)
 begin
 print '前三的成果为'
 select top 3 * from stumake order by writexam dese
 begin
 print '后三名的成果为'
 select top 3 * from stumake order by writexam asc
 end

在运用T-SQL编程时,能够切换视图来检查成果,东西 选项 查询成果 惯例 显现成果的默许方法 以文本格局显现成果,检查作用更好

while循环句子

语法格局为:

while(条件)
 begin
 break
 end

留意:break是表明完毕循环,与c言语中的辅佐操控句子break,continue相似

看个实例:

declare @n int
where(1=1) --条件永久建立
 begin
 select @n=count(*) from stuMarks 
 where writtenExam 60 --核算不及格人数
 if (@n 0)
 update stuMarks --每人加2分
 set writtenExam=writtenExam+2 
 else
 break --退出循环
print '加分后的成果如下:'
select * from stuMarks
case-end多分支句子

语法格局为:

case
 when 条件1 then 成果1
 when 条件2 then 成果2
 else 其他成果
end

看个成果等级实例就很清楚了,例:

print 'ABCDE五级显现成果如下:'
select stuNo,成果= case
 when writtenExam 60 then 'E'
 when writtenExam between 60 and 69 then 'D'
 when writtenExam between 70 and 79 then 'C'
 when writtenExam between 80 and 89 then 'B'
 else 'A'
from stuMarks

留意:之前代码中呈现过go,批处理标志是go,批处理是将一些逻辑相关的事务操作句子放置在同一批中,一起操作

再看一个实例:

依据如下规矩对机试成果进行重复加分,直到平均分超越85分停止。请编写T-SQL句子完成。

90分以上: 不加分

80-89分: 加1分

70-79分: 加2分

60-69分: 加3分

60分以下: 加5分

 1 select * from stuMarks --原始成果
 2 declare @labAvg int --声明变量,金赞娱乐场用户暂时寄存平均分
 3 while(1=1) --条件一向建立
 4 begin
 5 update stuMarks
 6 set labExam=case
 7 when labExam 60 then labExam+5 --设置加分条件
 8 when labExam between 60 and 69 then labExam+3
 9 when labExam between 70 and 79 then labExam+2
10 when labExam between 80 and 89 then labExam+1
11 else labExam
12 end
13 select @labAvg=avg(labExam) from stuMarks --获取现在平均分,判别是否还据需加分
14 if @labAvg =85
15 break --如果现已大于或等于85就履行break,跳出循环
16 end
17 select * from stuMarks --加分后的成果

在SQLserver学习的帖子中,有提到过安全形式,但都是用手动操作,现在讲一种代码完成的方法

登录验证有两种方法:

SQL身份验证:适合于非windows渠道的用户或Internet用户, 需求供给帐户和暗码

Windows身份验证:适合于windows渠道用户,不需求供给暗码,和windows集成验证

登录帐户相应有两种:SQL 帐户和Windows帐户

增加 Windows登录帐户

exec sp_grantlogin'HONG-PJ3108YT43\Administrator' –域名\用户名,域名为本机核算机名,用户名为核算机下的用户

增加 SQL登录帐户

exec sp_addlogin ‘yihuqingjiu', ‘123456’ --用户名,暗码

exec表明调用存储进程,存储进程相似C言语的函数,在后面文章会讲到

创立数据库用户

创立数据库用户需求调用体系存储进程sp_grantdbaccess,其用法为:

exec sp_grantdbaccess ‘登录帐户名’,’数据库用户名’

其间,“数据库用户“为可选参数,默许为登录帐户,即数据库用户默许和登录帐户同名。

在数据库中增加两个用户

exec sp_grantdbaccess 'jbtraining\ww123456', 'ww123DBUser' 
exec sp_grantdbaccess 'yihuqingjiu', 'yiDBUser'
体系内置的数据库用户

dbo用户和guest用户

dbo用户:表明数据库的所有者,无法删去dbo用户,此用户一直会呈现在每个数据库中

guest宾客用户:适用于没有数据库用户的登录账号拜访,每个数据可有也可删去,宾客用户需求管理员授权,不然无法操作数据库

授权的语法
grant 权限 [on 表名 ] to 数据库用户

例:

/*--为yiDBUser分配对表stuInfo的select, insert, update权限--*/
grant select, insert, update on stuInfo to yiDBUser 
/*--为ww123DBUser分配建表的权限--*/
grant create table to ww123DBUser

这样操作比之前的挑选可是要简略了许多

本文仅代表作者观念,系作者@温一壶清酒宣布。欢迎转载,但未经作者赞同有必要保存此段声明,且在文章页面显着方位给出原文衔接,不然保存追查法律责任的权力。文章出处:

浏览:

网站建设

流程

    网站建设流程