SQL 2000 SQL函数简介
数据控制语言(DCL
数据控制语言(DCL)是用来设置或者更改数据库用户或角权限的语句,这些语句包括GRANTDENYREVOKE等语句,在默认状态下,只有sysadmindbcreatordb_ownerdb_securityadmin等角的成员才有权利执行数据控制语言。
GRANT语句
GRANT语句是授权语句,它可以把语句权限或者对象权限授予给其他用户和角。
授予语句权限的语法形式为:
GRANT {ALL | statement[,...n]} TO security_account [ ,...n ]
授予对象权限的语法形式为:
GRANT { ALL [ PRIVILEGES ] | permission [ ,...n ] }{[ ( column [ ,...n ] ) ] ON { table | view }| O
N { table | view } [ ( column [ ,...n ] ) ]| ON { stored_procedure | extended_procedure }| ON { user_defined_function } } TO security_account [ ,...n ] [ WITH GRANT OPTION ] [ AS { group | role } ]
2DENY语句
DENY语句用于拒绝给当前数据库内的用户或者角授予权限,并防止用户或角通过其组或角成员继承权限。否定语句权限的语法形式为:
DENY { ALL | statement [ ,...n ] } TO security_account [ ,...n ]
否定对象权限的语法形式为:
DENY { ALL [ PRIVILEGES ] | permission [ ,...n ] } { [ ( column [ ,...n ] ) ] ON { table | view } | ON { table | view } [ ( column [ ,...n ] ) ] | ON { stored_procedure | extended_procedure } | ON { user_defined_function } } TO security_account [ ,...n ] [ CASCADE ]
3 REVOKE语句
REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角上授予或拒绝的权限删除,但是该语句并不影响用户或者角从其他角中作为成员继承过来的权限。
收回语句权限的语法形式为:
REVOKE { ALL | statement [ ,...n ] } FROM security_account [ ,...n ]
收回对象权限的语法形式为:
REVOKE [ GRANT OPTION FOR ] { ALL [ PRIVILEGES ] | permission [ ,...n ] } { [ ( column [ ,...n ] ) ] ON { table | view } | ON { table | view } [ ( column [ ,...n ] ) ] | ON { stored_procedure | extended_procedure } | ON { user_defined_function } } { TO | FROM } security_account [ ,...n ] [ CASCADE ] [ AS { group | role } ]
系统存储过程
系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询
信息,或者完成与更新数据库表相关的管理任务或其它的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。
系统存储过程的部分示例如下:
sp_addtype:用于定义一个用户定义数据类型。
sp_configure:用于管理服务器配置选项设置。
xp_sendmail:用于发送或寻呼信息。
sp_stored_procedures:用于返回当前数据库中的存储过程的清单。
sp_help:用于显示参数清单和其数据类型。
sp_depends:用于显示存储过程依据的对象或者依据存储过程的对象。
sp_helptext:用于显示存储过程的定义文本。
sp_rename:用于修改当前数据库中用户对象的名称。
其它语言元素
QQ291911320
注释
注释是程序代码中不执行的文本字符串(也称为注解)。在SQL Server中,可以使用两种类型的注释字符:一种是ANSI标准的注释符“--”,它用于单行注释;另一种是与C语言相同的程序注释符号,即“/* */”。
变量
变量是一种语言中必不可少的组成部分。Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。
局部变量
局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量可以作为计数器来计算循环执行的次数,或是控制循环执行的次数。另外,利用局部变量还可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。局部变量被引用时要在其名称前加上标志“@”,而且必须先用DECLARE命令定义后才可以使用。
全局变量
全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。
使用全局变量时应该注意以下几点:
①全局变量不是由用户的程序定义的,它们是在服务器级定义的。
②用户只能使用预先定义的全局变量。
③引用全局变量时,必须以标记符“@@”开头。
④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。
运算符
运算符是一些符号,它们能够用来执行算术运算、字符串连接、赋值以及在字段、常量和变量之间进行比较。在SQL Server 2000中,运算符主要有以下六大类:算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符以及字符串串联运算符
算术运算符
算术运算符可以在两个表达式上执行数学运算,这两个表达式可以是数字数据类型分类的任何数据类型。算术运算符包括加(+)、减()、乘(*)、除(/)和取模(%)。
赋值运算符
Transact-SQL 中只有一个赋值运算符,即等号(=)。赋值运算符使我们能够将数据值指派给特定的对象。另外,还可以使用赋值运算符在列标题和为列定义值的表达式之间建立关系。
位运算符
位运算符使我们能够在整型数据或者二进制数据(image 数据类型除外)之间执行位操作。此外,在位运算符左右两侧的操作数不能同时是二进制数据。
比较运算符
比较运算符用于比较两个表达式的大小或是否相同,其比较的结果是布尔值,即TRUE(表示表达式的结果为真)、FALSE(表示表达式的结果为假)以及UNKNOWN。除了 textntext image 数据类型的表达式外,比较运算符可以用于所有的表达式。
逻辑运算符
逻辑运算符可以把多个逻辑表达式连接起来。逻辑运算符包括ANDORNOT等运算符。逻辑运算符和比较运算符一样,返回带有 TRUE FALSE 值的布尔数据类型。
字符串串联运算符
字符串串联运算符允许通过加号 (+) 进行字符串串联,这个加号即被称为字符串串联运算符。
例如对于语句SELECT abc+def’,其结果为abcdef
运算符的优先等级从高到低如下所示
括号:();
乘、除、求模运算符:*/%
加减运算符:+-
比较运算符:=><>=<=<>!=!>!<
位运算符:^&|
逻辑运算符:NOT
逻辑运算符:AND
逻辑运算符:OR
函数
Transact-SQL语言中,函数被用来执行一些特殊的运算以支持SQL Server的标准命令。Transact-SQL 编程语言提供了三种函数:
㈠行集函数:行集函数可以在Transact-SQL语句中当作表引用。
㈡聚合函数:聚合函数用于对一组值执行计算并返回一个单一的值。
㈢标量函数:标量函数用于对传递给它的一个或者多个参数值进行处理和计算,并返回一个单一的值。
SQL Server中最常用的几种函数
字符串函数
字符串函数可以对二进制数据、字符串和表达式执行不同的运算,大多数字符串函数只能用于charvarchar数据类型以及明确转换成charvarchar的数据类型,少数几个字符串函数也可以用于binaryvarbinary数据类型。此外,某些字符串函数还能够处理textntextimage数据类型的数据。
字符串函数的分类:
基本字符串函数:UPPERLOWERSPACEREPLICATESTUFFREVERSELTRIMRTRIM
字符串查函数:CHARINDEXPATINDEX
长度和分析函数:DATALENGTHSUBSTRINGRIGHT
转换函数:ASCHCHARSTRSOUNDEXDIFFERENCE
日期和时间函数
日期和时间函数用于对日期和时间数据进行各种不同的处理和运算,并返回一个字符串、数字值或日期和时间值。在SQL Server 2000中,日期和时间函数的类型如表2-5所示;另外,表2-6列出了日期类型的名称、缩写形式以及可接受的值。
数学函数
数学函数用于对数字表达式进行数学运算并返回运算结果。数学函数可以对SQL Server提供的数字数据(decimalintegerfloatrealmoneysmallmoneysmallint tinyint)进行处理。
转换函数
一般情况下,SQL Server会自动处理某些数据类型的转换。例如,如果比较 char datetime 表达式、smallint int 表达式、或不同长度的 char 表达式,SQL Server 可以将它们自动转换,这种转换被称为隐性转换。但是,无法由SQL Server自动转换的或者是SQL Server自动转换的结果不符合预期结果的,就需要使用转换函数做显示转换。转换函数有两个:CONVERTCAST
查符合两个条件之一的字符串函数

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。