sqlserver 权限
发布时间:2020-12-12 14:37:36 所属栏目:MsSql教程 来源:网络整理
导读:? 一、数据库的三层权限验证 1、数据库服务器权限验证 a、SQL身份验证:适合于非Windows平台的用户或Internet用户,需要提供帐户和密码 语法: exec sp_addlogin '账号名','密码' b、Windows身份验证:适合于Windows平台用户,不需要提供密码,和Windows集成
?
一、数据库的三层权限验证 1、数据库服务器权限验证 a、SQL身份验证:适合于非Windows平台的用户或Internet用户,需要提供帐户和密码 语法: exec sp_addlogin '账号名','密码' b、Windows身份验证:适合于Windows平台用户,不需要提供密码,和Windows集成验证 语法:exec sp_grantlogin 'windows域名域帐户' 示例: --添加Windows登录帐户-- exec sp_grantlogin 'jbtrainings26301' --window用户为jbtrainings26301 jbtraining表示域 --添加SQL登录帐户-- exec sp_addlogin 'zhangsan','1234' --帐户名为zhangsan 密码为1234 2、数据库权限验证 语法:exec sp_grantdbaccess '登录帐户','数据库用户' 示例: --在stuDB数据库中添加用户-- use stuDB go exec sp_grantdbaccess 'jbtrainings26301','s26301DBUser' -- s26301DBUser 为数据库用户名 exec sp_grantdbaccess 'zhangsan','zhangsanDBUser' 3、数据库用户授权 权限包括:添加数据(insert)、删除数据(delete)、更新数据(update)、查看数据(select)、创建表 (create table)等 语法: grant 权限 on 表名 to 数据库用户 示例: use stuDB go --为zhangsanDBUser分配对表stuInfo的select、insert、update权限-- grant select,insert,update,on stuInfo to zhangsanDBUser --为s26301DBUser分配创建表的权限-- grant create table to s26301DBUser 二、全局变量和局部变量的区别 1、局部变量名称必须以标记@作为前缀 语法:declare @变量名 类型 示例: declare @name varchar(8) --声明一个存放学员姓名的变量name,最多可存储8个字符 局部变量赋值:使用set语句或select语句 语法: set @name = 值 或 select @name = 值 注意:使用set 和 select都可以为变量赋值 不同的是 set只能为单个变量赋值而select可以为多个变量赋值 2、全局变量都使用两个@标志作为前缀 变量 含义 @@error 最后一个T-SQL错误的错误号 返回一个数字 0为成功执行 @@identity 最后一次插入的标识值 @@language 当前使用语言的名称 @@max_connections 可以创建的同时连接的最大数目 @@rowcount 受上一个SQL语句影响的行数 @@servername 本地服务器名称 @@servicename 该计算器上的SQL服务的名称 @@timeticks 当前计算机上每刻度的微秒数 @@transcount 当前连接打开的事务数 @@version SQL server的版本信息 三、输出语句 常用两种输出语句:print 局部变量或字符串 select 局部变量 as 自定义列名 print输出结果以文本方式显示 select输出结果以表格方式显示 四、逻辑控制语句 1、if-else语句 语法: 单个语句 if(条件) 语句或语句块 else 语句或语句块 多个语句 if(条件) begin 语句1 语句2 ..... end else .... 2、while循环语句 语法: while(条件) [begin] 语句或语句块 [break] [end] 使用break关键字退出while循环 3、case多分支语句 语法: case: when 条件1 then 结果1 when 条件2 then 结果2 ................ end 示例: select * from stuMarks --原始成绩 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' end from stuMarks (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容