• 1
  • 2
  • 3
  • 4
  • 5
mysql数据库问题 首 页  »  帮助中心  »  数据库  »  mysql数据库问题
Transact-SQL的 概述和语法规则的说明
发布日期:2015-11-28 18:11:15

  Transact-SQL的 概述和语法规则的说明

  一、Transact-SQL 对使用 Microsoft SQL Server重要吗?

   非常重要。与 SQL Server 通讯的所有应用程序都通过向服务器发送 Transact-SQL 语句来进行通讯,而与应用程序的用户界面无关。

  二、Transact-SQL由哪些应用程序生成?

  1、通用办公生产应用程序。

  2、使用图形用户界面(GUI)的应用程序,使用户得以选择包含要查看的数据的表和列。

  3、使用通用语言语句确定用户所要查看数据的应用程序。

  4、将其数据存储于 SQL Server 数据库中的商用应用程序。这些应用程序既可以是来自其它厂商的应用程序,也可以是内部编写的应用程序。

  三、使用 osql 等实用工具运行的 Transact-SQL 脚本。

  由开发系统(如 Microsoft Visual C++、Microsoft Visual Basic 或 Microsoft Visual J++)使用数据库应用程序接口 (API)(如 ADO、OLE DB 以及 ODBC)创建的应用程序。

  四、从 SQL Server 数据库提取数据的 Web 页。

  分布式数据库系统,在此系统中将数据从 SQL Server 复制到各个数据库或执行分布式查询。

  数据仓库,从联机事务处理 (OLTP) 系统中提取数据,以及对数据汇总以进行决策支持分析,均可在此仓库中进行。

  五、Transact-SQL 语法规则

  Transact-SQL 引用中的语法关系图使用下列规则。

  规范 用于

  大写 Transact-SQL 关键字。

  斜体 Transact-SQL 语法中用户提供的参数。

  | (竖线) 分隔括号或大括号内的语法项目。只能选择一个项目。

  [ ] (方括号) 可选语法项目。不必键入方括号。

  {}(大括号) 必选语法项。不要键入大括号。

  [ ,...n ] 表示前面的项可重复 n 次。每一项由逗号分隔。

  [ ...n ] 表示前面的项可重复 n 次。每一项由空格分隔。

  加粗 数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以及必须按所显示的原样键入的文本。

  <标签> ::= 语法块的名称。此规则用于对可在语句中的多个位置使用的过长语法或语法单元部分进行分组和标记。适合使用语法块的每个位置由括在尖括号内的标签表示:<标签>。

  除非另外指定,否则所有对数据库对象名的 Transact-SQL 引用可以是由四部分组成的名称,格式如下:

  [

  server_name.[database_name].[owner_name].

  | database_name.[owner_name].

  | owner_name.

  ]]

  object_name

  server_name 指定链接服务器名称或远程服务器名称。

  当对象驻留在 SQL Server 数据库中时,database_name 指定该 Microsoft SQL Server? 数据库的名称。当对象在链接服务器中时则指定 OLE DB 目录。

  如果对象在 SQL Server 数据库中,owner_name 指定拥有该对象的用户。当对象在链接服务器中时则指定 OLE DB 架构名称。

  object_name 引用对象的名称。

  当引用某个特定对象时,不必总是为 SQL Server 指定标识该对象的服务器、数据库和所有者。可以省略中间级节点,而使用句点表示这些位置。对象名的有效格式是:

  server.database.owner.object

  server.database..object

  server..owner.object

  server...object

  database.owner.object

  database..object

  owner.object

  对象

  代码示例规则

  除非另外规定,否则示例已使用 SQL Server 查询分析器和以下选项的默认设置进行了测试:

  QUOTED_IDENTIFIER

  ANSI_NULLS

  ANSI_WARNINGS

  ANSI_PADDING

  ANSI_NULL_DFLT_ON

  CONCAT_NULL_YIELDS_NULL

  Transact-SQL 引用中的大多数代码示例都已在运行区分大小写排序次序的服务器上进行了测试。测试服务器通常运行 ANSI/ISO 1252 代码页。

  六、Transact-SQL 数据类型分类

  具有相似特性的数据类型被划分在分类中。包含两个或三个数据类型的分类一般有一个分类名称,该名称从这个分类中的数据类型衍生而来。例如,money 和 smallmoney 分类包含 money 数据类型和 smallmoney 数据类型。数据类型名称总是显示为粗体,即使用作分类名称的一部分也是如此。

  七、Transact-SQL 数据类型层次结构

  下面的数据类型层次结构显示在 SQL Server 文档中使用的 SQL Server 数据类型分类、子分类和数据类型。例如,精确数字分类包含三个子分类:整数、decimal、money 和 smallmoney。

  精确数字分类还包含上述三个子分类中的所有数据类型:bigint、int、smallint、tinyint、bit、decimal、money 和 smallmoney。Transact-SQL 参考中任何对精确数字的引用均指上述八种数据类型。

  在该层次结构中,由两种或多种数据类型构成的类别名称中使用连词"和"。在 Transact-SQL 参考中,如果名称所处的上下文更适合用"或",则可能使用连词"或"。

  在该层次结构中指定的数据类型还适合同义词。例如,int 引用 int 及其同义词 integer。

  数字

  精确数字

  整数

  bigint

  int

  smallint

  tinyint

  bit

  decimal 和 numeric

  decimal

  numeric

  money 和 smallmoney

  money

  smallmoney

  近似数字

  float

  real

  datetime 和 smalldatetime

  datetime

  smalldatetime

  字符和二进制字符串

  字符串

  char、varchar 和 text

  char 和 varchar

  char

  varchar

  text

  Unicode 字符串

  nchar 和 nvarchar

  nchar

  nvarchar

  ntext

  二进制字符串

  binary 和 varbinary

  binary

  varbinary

  image

  cursor

  sql_variant

  table

  timestamp

  uniqueidentifier

  Transact-SQL 引用中使用的其它数据类型分类在下面两个层次结构中加以描述:

  text、ntext 和 image

  text 和 ntext

  text

  ntext

  image

  短字符串

  短字符

  char 和 varchar

  char

  varchar

  nchar 和 nvarchar

  nchar

  nvarchar

  binary 和 varbinary

  binary

  varbinary