sqlserver 权限

 
一、数据库的三层权限验证
    1、数据库服务器权限验证
       a、SQL身份验证:适合于非Windows平台的用户或Internet用户,需要提供帐户和密码
       
       语法: exec sp_addlogin '账号名','密码'
        
        b、Windows身份验证:适合于Windows平台用户,不需要提供密码,和Windows集成验证
      
      语法:exec sp_grantlogin 'windows域名\域帐户'

      示例:
       
       --添加Windows登录帐户--
       exec sp_grantlogin 'jbtraining\s26301'  --window用户为jbtraining\s26301 jbtraining表示域
       
      --添加SQL登录帐户--
      exec sp_addlogin 'zhangsan','1234' --帐户名为zhangsan 密码为1234

   2、数据库权限验证
      
      语法:exec sp_grantdbaccess '登录帐户','数据库用户'

      示例:

      --在stuDB数据库中添加用户--
      use stuDB
      go
      exec sp_grantdbaccess 'jbtraining\s26301','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
                         
            

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值