SQL授予用户权限的语句.docx
《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
15、期和时间为止试图登录SQ1.SerVer的次数。程序清单如下:SE1.ECTGETDATE()AS当前的时期和时间,CONNECTIONSAS试图登录的次数六、运算符运算符是一些符号,它们能够用来执行算术运算、字符串连接、赋值以与在字段、常属和变量之间进行比较。在SQ1.Server2005中,运算符主要有以下六大类:算术运儿符、赋值运第符、位运算符、比较运算符、逻辑运算符和字符串申联运算符,1 .算术运算符算术运算符可以在两个表达式上执行数学运算,这两个表达式可以是数字数据类型分类的任何数据类型。算术运算符包括加(+)、诚(一)、乘(*)、除(/)和取模(%)2 .赋值运算符Transact
16、-SQ1.中只有一个赋值运算符,即(=)。赋值运算符使我们能够将数据值指派给特定的对象。另外,还可以运用赋值运算符在列标题和为列定义值的表达式之间建立关系。3位运算符使我们能够在整型数据或者二进制数据(image数据类型除外)之间执行位操作。此外,在位运算符左右两侧的操作数不能同时是二进制数据.表3-1列出了全部的位运算符与其含义。运算符含义&(按位AND)按位AND(两个操作数)I(按位OR)按位OR(两个操作数)(按位互斥OR)按位互斥OR(两个操作数)4 .比较运算符比较运算符亦称为关系运算符,用于比较两个表达式的大小或是否相同,共比较的结果是布尔值,即TRUE(表示表达式的结果为真)、
17、FA1.SE(表示表达式的结果为假)以与UNKNe)WNC除了text,ntext或image数据类型的表达式外,比较运算符可以用于全部的表达式。5 .逻辑运算符逻辑运算符可以把多个逻辑表达式连接起来。逻辑运算符包括AND、OR和NOT等运算符.逻辑运算符和比较运算符一样,返回带有TRUE或FA1.SE值的布尔数据类型。三个运算符的优先级别为:NOT,AND,ORo6 .字符串串联运算符字符串串联运算符允许通过加号(+)进行字符串串联,这个加号即被称为字符串串联运算符。例如对于语句SE1.ECTabc+def,其结果为abedcf。在SQ1.Server2005中,运算符的优先等级从高到低如卜
18、.所示,假如优先等级相同,则依据从左到右的依次进行运算。(1)括号:();(2)乘、除、求模运算符:*,/,%;(3)加减运算符:+,(4)比较运算符:=,=,=,!=,!,!基本字符串函数:UPPER,1.OWER,SPACE,REP1.ICATE,STUFF,REVERSE,1.TRIM,RTRIM,字符串查找函数:CHARINDEX,PATINDEX0长度和分析函数:DT1.ENGTH,SUBSTRING,RIGHTo转换函数:ASCH,CHAR,STR,SOUNDEX,DIFFERENCE。例3-38运用1.TRIM函数删除字符变量中的起始空格。程序清单如下:“DEC1.AREstri
19、ng_to_trimvarchar(60)ASETstring_to_trim=Fivespacesareatthebeginningofthisstring/ SE1.ECTHereisthestringwithouttheleadingspaces:,+ 1.TRIM(string_to_trim)“例3-39运用可选的StartOCatiOn参数从addresslincl列的第2个字符起先查找“shoe”程序清单如下。 USEadventureworks SE1.ECTCHARINDEXCshoe,addressline1,2)FROMperson.address WHEREaddres
20、sid=5(2)日期和时间函数函数参数功能DATEADD(datepart,number,date)以datepart指定的方式,返回date加上number之和DATEDIFF(datepart,date1,date2)以datepart指定的方式,返回date2与datel之差DATENAME(datepart,date)返回日期date中datepart指定部分所对应的字符串DATEPART(datepart,date)返回日期date中datepart指定部分所对应的整数值DAY(date)返回指定日期的天数GETDTEO返回当前的日期和时间MONTH(date)返阿指定日期的月份数Y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 授予 用户权限 语句

链接地址:https://www.desk33.com/p-1474660.html