SQL授予用户权限的语句.docx

上传人:王** 文档编号:1406499 上传时间:2024-07-06 格式:DOCX 页数:53 大小:62.47KB
下载 相关 举报
SQL授予用户权限的语句.docx_第1页
第1页 / 共53页
SQL授予用户权限的语句.docx_第2页
第2页 / 共53页
SQL授予用户权限的语句.docx_第3页
第3页 / 共53页
SQL授予用户权限的语句.docx_第4页
第4页 / 共53页
SQL授予用户权限的语句.docx_第5页
第5页 / 共53页
SQL授予用户权限的语句.docx_第6页
第6页 / 共53页
SQL授予用户权限的语句.docx_第7页
第7页 / 共53页
SQL授予用户权限的语句.docx_第8页
第8页 / 共53页
SQL授予用户权限的语句.docx_第9页
第9页 / 共53页
SQL授予用户权限的语句.docx_第10页
第10页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《SQL授予用户权限的语句.docx》由会员分享,可在线阅读,更多相关《SQL授予用户权限的语句.docx(53页珍藏版)》请在优知文库上搜索。

1、插入多行数据的港法格代为:INSERTINTOtablc_or_vicwKcolumnJist)子杳询例3-7求出各位学生的平均成果,把结果存放在新表Avgscore中C程序清单如下:/*首先建立新表AVGSCORE,用来存放学号和学生的平均成果。*/CREATETAB1.EAVGSCORE(SNoCHAR(IO),AVGSCORESMA1.1.INT)Go*利用子查询求出SC表中各位学生的平均成果,把结果存放在新表AVGSCOREo7INSERTINTOAVGSCORESE1.ECTSNO,VG(SCORE)FROMSCGROUPBYSNO例3-12创建把讲授C5课程的老师的工资增加00元。

2、程序消单如下:*T表(老师基本状况表)的结构为T(TNo,TN,SEX,AGE,PROF,SA1.,DEPT)分别表示老师的编号,姓名,性别,年龄,职称,工资,系别TC表(老师授课表)的结构为TC(TNO1CNO)分别表示老师的编号,课程编号。7UPDATETSETSA1.=SA1.+1OOWHERETNOIN(SE1.ECTT.TNOFROMT,TCWHERET.TNO=TC.TNOANDTC.CNO=C5)*通过连接行询找到讲授C5课程的老师编号。*/ 下面是删除一行记录的例子。例3-14删除张益琳老师的记录。程序清单如下:DE1.ETEFROMTWHERETN=,张益琳 例3-16删除李

3、明同学选课的记录。DE1.ETEFROMSCWHERESNO=(SE1.ECTSNOFROMSWHERESN三,李明)三、数据限制语言 数据限制语言(DC1.)是用来设置或更改数据库用户或角色权限的语句,包括GRANT,DENY,REVOKE等语句。在默认状态下,只有sysadmin,dbcreator,db-owner或db_securityadmin等人员才有权力执行数据限制语言。3.1 语句权限与角色的授予SQ1.语言运用GRANT语句为用户授予语句权限的语法格式为:grant语句权限IV角色卜语句权限I角色TOV用户名v角色PUB1.IC,V用户名卜角色WITHADMINOPTION其

4、语义为:将指定的语句权限授予指定的用户或角色。其中:(1) PU1.BIC代表数据库中的全部用户;(2) WITHADMINOPTlON为可选项,指定后则允许被授权的用户将指定的系统特权或角色再授予其他用户或角色。 例3-17给用户Mary和John以与WindowsNT组CororateBobJ授予多个语句权限。程序清单如F:GRANTCREATEDATABASE,CREATETAB1.ETOMary,John,CorporateBobJ 例3-18为用户ZhangYi1.in授予CREATETAB1.E的语句权限。程序清单如MGRANTCREATETAB1.ETOZhangYi1.in 同

5、语句权限的授予类似,SQ1.语言运用GRANT语句为用户授予对象权限,其语法格式为:GRANTA1.1.|对象权限(列名,列名)11,对象权限叶QN对象名TO用户名I角色IPUBiJe,v用户名I角色习!WITHADMINOPTION 其语义为:将指定的操作对象的对象权限授予指定的用户或角色。其中:(1)A1.1.代表全部的对象权限。(2)列名用于指定要授权的数据库对象的一列或多列。假如不指定列名,被授权的用户将在数据库对象的全部列上均拥有指定的特权。事实上,只有当授予INSERT、UPDATE权限时才需指定列名。(3) ON子句用于指定要授予对象权限的数据库对象名,可以是基本表名、视图名等。

6、(4) WITHADMINOPTlON为可选项,指定后则允许被授权的用户将权限再授予其他用户或角色。 例3-19在权限层次中授予对象权限。首先,给全部用户授予SE1.ECT权限,然后,将特定的权限授予用户Mary,John和Tom0程序清单如S:GRANTSE1.ECTONsTOpublicGOGRANTINSERT,UPDATE,DE1.ETEONsTOMary,John,TomGO 例3-20将杳询T表和修改老师职称的权限授予USER3,并允许将此权限授予其他用户。程序清单如下:GRANTSE1.ECT,UPDATE(PROF)ONTTOUSER3WITHADMINOPTION 匕例中,U

7、SER3具方此对象权限,并可运用GRANT吩咐给其他用户授权,如卜例,USER3将此权限授予USER4:GRANTSE1.ECT,UPDATE(PROF)ONTTOUSER4数据库管理员可以运用REVOKE语句收I可语句权限,其语法格式为:REVOKEV语句权限I角色产语句权限IV角色FROM用户名I角色IPUB1.lC1.V用户名I角色习 例:收I可用户ZHANGYI1.IN所拥有的CREATETAB1.E的语句权限。REVOKECREATETAB1.EfromZhangyilin全部授予出去的权力在必要时都可以由数据库管理员和授权者收I可,收I可对象权限仍旧运用REVoKE语句,其语法格式

8、为:REVOKEV对象权限I角色,V对象权限IV角色习FROM用户名I角色IPUB1.lC1.V用户名|角色习 例3-21收回用户USERl对C表的杳询权限。ONCFROMUSERl 例3-22收回用户USER3查泡T表和修改老师职称的权限。程序清单如下:REVOKESE1.ECTtUPDATE(PROF)ONTFROMUSER3 在I:例中,USER3将对T表的权限授予了USER4,在收回USER3对T表的权限的同时,系统会自动收回USER4对T表的权限。 例3-23首先从public角色中收回SE1.ECT权限,然后,收回用户Mary,John和Tom的特定权限。程序清单如下:USEpub

9、sGOREVOKESE1.ECTONsFROMpublicGOREVOKEINSERT,UPDATE,DE1.ETEONSFROMMary,John,Tom DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。 否定语句权限的语法形式为:DENYA1.1.I语句权眼I角色卜语句权限I角色#TOV用户名I角色IPUB1.IC,用户名I角色 否定对象权限的语法形式为:DENYA1.1.IV对象权限(列名1.列名卜)M,对象权限QN对象名TOV用户名|角色PUB1.IC,v用户名|角色 例3-24首先给public角色授予SE1.ECT权限,然后,拒

10、绝用户Mary,John和Tom的特定权限。程序清单如下:USEpubsGOGRANTSE1.ECTONsTOpublicGODENYSE1.ECT,INSERT,UPDATE,DE1.ETEONsTOMary,John,Torn四、系统存储过程系统存储过程的部分示例如卜二 sp.addtype:用于定义一个用户定义数据类型; sp_configure:用于管理服务器配置选项设置;-xp_scndmail:用于发送电子邮件或寻呼信息;,sp_storeC1.PrOCedUres:用于返回当前数据库中的存储过程的清单; sp.help:用于显示参数清单和其数据类型; sp_depends:用于显

11、示存储过程依据的对象或者依据存储过程的对象; SPJlCIPtext:用于显示存储过程的定义文本; sp-rename:用于修改当前数据库中用户对象的名称。五、变量变量是一种语言中必不行少的蛆成部分。Transact-SQ1.语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统供应的全局变量。 1.局部变量局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量被引用时要在其名称前加上标记“”,而且必需先用DEC1.ARE吩咐定义后才可以运用C 定义局部变埴的语法形式如下:DEC1.AERloCa1.VariabIedata-typen,其中,格数loC

12、a1.VariabIe用于指定局部变量的名称,变量名必需以符号开头,并且局部变量名必需符合SQ1.SerVer的命名规贝1.参数datatype用于设置时部变量的数据类型与其大小。data_type可以是任何由系统供应的或用户定义的数据类型。但是,局部变T不能是text,ntcxt或image数据类型。 运用DEC1.ARE吩咐声明并创建局部变底之后,会将其初始值设为NU1.1.,假如想要设定局部变量的值,必需运用SE1.ECT吩咐或者SET吩咐。其语法形式为:SETloCa1.VariabIe=expression或者SE1.ECTkCa1.VariabIe=expressionn 其中,参

13、数1。Ca1.Variable是给其赋值并声明的局部变量,参数expression是任何有效的SQ1.Server表达式。,例3-26创建个myvar变量,然后将一个字符串值放在变量;中,最终输出myvar变量:的值.程序清单如下:DEC1.AREmyvarchar(20)selectmyvar=ThisisatestSE1.ECTmyvarGO 例3-27通过杳询给变量赋值。程序清单如下:USEadventureworksGODEC1.ARErowsintSETrows(SE1.ECTCOUNT(*)FROMhumanresources.employee)2.全局变量除了局部变肽之外,SQ1

14、.Server系统本身还供应了一些全局变破。全局变量是SQ1.SCrVer系统内部运用的变量,其作用他用并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变成通常存储一些SQ1.Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是TranSaCt-SQ1.吩咐执行后的状态值。在运用全局变R时应当留意以下儿点:(1)全局变限不是由用户的程序定义的,它们是在服务器级定义的.(2)用户只能运用预先定义的全局变量。(3)引用全局变肽时,必需以标记符“”开头。(4)局部变审的名称不能与全局变量的名称相同,否则会在应用程序中出现不行预料的结果。例3-29显示到当前H期和时间为止试图登录SQ1.SerVer的次数。程序清单如下:SE1.ECTGETDATE()AS当前的时期和时间,CONNECTIONSAS试图登录的次数六、运算符运算符是一些符号,它们能够用来执行算术运算、字符串连接、赋值以与在字段、常属和变量之间进行比较。在SQ1.Server2005中,运算符主要有以下六大类:算术运儿符、赋值运第符、位运算符、比较运算符、逻辑运算符和字符串申联运算符,1 .算术运算符算术运算符可以在两个表达式上执行数学运算,这两个表达式可以是数字数据类型分类的任何数据类型。算术运算符包括加(+)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!