首页 > 数据库 >Transact-SQL概述(SQL Server 2022)

Transact-SQL概述(SQL Server 2022)

时间:2024-09-23 10:22:01浏览次数:10  
标签:name 数据库 object Server SQL Transact

新书速览|SQL Server 2022从入门到精通:视频教学超值版_sql server 2022 出版社-CSDN博客

《SQL Server 2022从入门到精通(视频教学超值版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com)

SQL Server数据库技术_夏天又到了的博客-CSDN博客

在前面的章节中,其实已经使用了Transact-SQL语言,只是没有系统地对该语言进行介绍。事实上,不管应用程序的用户界面如何,与SQL Server 实例通信的所有应用程序都通过将Transact-SQL 语句发送到服务器进行通信。

对数据库进行查询和修改操作的语言叫作SQL,其含义是结构化查询语言(Structured Query Language)。SQL有许多不同的类型,有3个主要的标准:①ANSI(American National Standards Institute,美国国家标准协会)SQL;②对ANSI SQL修改后在1992年采纳的标准,称为SQL92或SQL2;③最近的SQL99标准。SQL99标准从SQL2扩充而来并增加了对象关系特征和许多其他新功能。其次,各大数据库厂商提供了不同版本的SQL。这些版本的SQL支持原始的ANSI标准,而且在很大程度上支持新推出的SQL92标准。

Transact-SQL语言是SQL的一种实现形式,它包含标准的SQL语言部分。标准的SQL语句几乎完全可以在Transact-SQL语言中执行,因为包含这些标准的SQL语言来编写应用程序和脚本,所以提高了它们的可移植性。Transact-SQL语言在具有SQL的主要特点的同时,还增加了变量、运算符、函数、流程控制和注释等语言因素,使得Transact-SQL的功能更加强大。另外,在标准的ANSI SQL99外,Transact-SQL语言根据需要又增加了一些非标准的SQL语言。在有些情况下,使用非标准的SQL语言可以简化一些操作步骤。

4.1.1  什么是Transact-SQL

Transact-SQL是Microsoft公司在关系数据库管理系统SQL Server中的SQL3标准的实现,是微软对SQL的扩展。在SQL Server中,所有与服务器实例的通信都是通过发送Transact-SQL语句到服务器来实现的。根据其完成的具体功能,可以将Transact-SQL语句分为四大类,分别为数据操作语句、数据定义语句、数据控制语句和一些附加的语言元素。

数据操作语句:

SELECT,INSERT,DELETE,UPDATE

数据定义语句:

CREATE TABLE,DROP TABLE,ALTER TABLE,CREATE VIEW,
DROP VIEW,CREATE INDEX,DROP INDEX,CREATE PROCEDURE
ALTER PROCEDURE,DROP PROCEDURE,CREATE TRIGGER,
ALTER TRIGGER,DROP TRIGGER

数据控制语句:

GRANT,DENY,REVOKE

附加的语言元素:

BEGIN TRANSACTION/COMMIT,ROLLBACK,SET TRANSACTION,
DECLARE OPEN,FETCH,CLOSE,EXECUTE

4.1.2  Transact-SQL语法的约定

表4-1列出了Transact-SQL参考的语法关系图中使用的约定,并进行了说明。

表4-1  语法约定

约    定

说    明

大写

Transact-SQL关键字

斜体

用户提供的Transact-SQL语法的参数

粗体

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

下画线

指示当语句中省略了带下画线的值的子句时,应用的默认值

|(竖线)

分隔括号或大括号中的语法项。只能使用其中一项

[ ](方括号)

可选语法项。不要输入方括号

{ }(花括号)

必选语法项。不要输入花括号

[,...n]

指示前面的项可以重复n次。各项之间以逗号分隔

[...n]

指示前面的项可以重复n次。每一项由空格分隔

;

Transact-SQL语句终止符。虽然在此版本的SQL Server中大部分语句不需要分号,但将来的版本中需要

<label> ::=

语法块的名称。此约定用于对可在语句中的多个位置使用的过长语法段或语法单元进行分组和标记。可使用语法块的每个位置,由括在尖括号内的标签指示:<标签>

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

server_name .[database_name].[schema_name].object_name
| database_name.[schema_name].object_name
| schema_name.object_name
| object_name

  1. server_name:指定链接的服务器名称或远程服务器名称。
  2. database_name:表示如果对象驻留在SQL Server 的本地实例中,则指定SQL Server数据库的名称。如果对象在链接服务器中,则database_name将指定OLE DB目录。
  3. schema_name:表示如果对象在SQL Server 数据库中,则指定包含对象的架构的名称。如果对象在链接服务器中,则schema_name将指定 OLE DB 架构名称。
  4. object_name:表示对象的名称。

引用某个特定对象时,不一定要指定服务器、数据库和架构供SQL Server数据库引擎标识该对象。但是,如果找不到对象,就会返回错误消息。

除使用时完全限定引用时的4个部分外,在引用时若要省略中间节点,则需要使用句点来指示这些位置。表4-2显示了引用对象名的有效格式。

表4-2  引用对象名的有效格式

引用对象名的格式

说    明

server . database . schema . object

4个部分的名称

server . database .. object

省略架构名称

server .. schema . object

省略数据库名称

server ... object

省略数据库和架构名称

database . schema . object

省略服务器名

database .. object

省略服务器和架构名称

schema . object

省略服务器和数据库名称

object

省略服务器、数据库和架构名称

许多代码示例用字母N作为Unicode字符串常量的前缀。如果没有N前缀,则字符串被转换为数据库的默认代码页。此默认代码页可能不识别某些字符。

标签:name,数据库,object,Server,SQL,Transact
From: https://blog.csdn.net/brucexia/article/details/142451082

相关文章

  • mysql5.7.40升级到5.7.44
    1.软件下载https://www.mysql.com/downloads/找到mysqlcommunityGPLdownload--mysqlcommunityserver--选择5.7.44和rhel/oracle下载mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar2.停服备份systemctlstopmysqldcp/etc/my.cnf/etc/my.cnf.bak20240801配置文件tar-z......
  • 网站数据库错误的原因通常包括配置错误、编码错误、硬件故障、网络问题、数据损坏、权
    网站数据库错误可能由多种因素引起,主要包括以下几点:配置错误:数据库或应用程序的配置不当可能导致连接失败或其他运行时错误。编码错误:程序中的逻辑错误或语法错误也可能导致数据库操作失败。硬件故障:服务器硬件出现问题,如硬盘损坏、内存故障等,会影响数据库的正常运行。网络问......
  • 出现这种报错怎么办?SQLSTATE[HY000]: General error: 1615 Prepared statement needs
    如果你遇到由于数据库配置问题导致前后台无法打开的情况,可以通过修改数据库配置文件来解决。具体步骤如下:解决步骤第一步:打开数据库配置文件使用Notepad++打开配置文件:使用Notepad++或其他专业文本编辑器打开数据库配置文件 application/database.php。例如,假设你的......
  • SQLSTATE[HY000]: General error: 1615 Prepared statement needs to be re-prepared
    当遇到由于数据库配置问题导致前后台无法打开的情况时,可以通过修改数据库配置文件来解决问题。具体步骤如下:1.准备工作备份数据库配置文件:在修改前,建议先备份 application/database.php 文件。sh cpapplication/database.phpapplication/database.php.bak准......
  • 报错:SQLSTATE[HY000]:General error:145 Table './**@002******@/002ecn/ey_config' is
    错误信息 SQLSTATE[HY000]:Generalerror:145Table'./**@002******@/002ecn/ey_config'ismarkedascrashedandshouldberepaired 表明MySQL数据库中的表 ey_config 已经损坏,并且需要修复。解决方案1.修复损坏的表登录数据库:使用命令行或其他数据库管理工具......
  • SQL Server的Descending Indexes降序索引
    SQLServer的DescendingIndexes降序索引   背景索引是关系型数据库中优化查询性能的重要手段之一。对于需要处理大量数据的场景,合理的索引策略能够显著减少查询时间。特别是在涉及多字段排序的复杂查询中,选择合适的索引类型(如降序索引)显得尤为重要。本文将探讨如何在SQL......
  • SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F...' for
    错误信息 SQLSTATE[HY000]:Generalerror:1366Incorrectstringvalue:'\xF0\x9F...'forcolumn'content'atrow1 表示在插入数据时,content 字段的内容包含了一些不支持的特殊字符(如表情符号),导致插入失败。这是因为MySQL的 utf8 编码不支持某些四字节的Unicode字......
  • SQLSTATE[HY000]: General error: 1366 Incorrect string value: 'xF0xA7x92xADxEFxBC
    错误信息 Generalerror:1366Incorrectstringvalue:'\xF0\x9F\x98'forcolumn'content' 表示在插入数据时,content 字段的内容包含了一些不支持的特殊字符(如表情符号),导致插入失败。这是因为MySQL的 utf8 编码不支持某些四字节的Unicode字符,而 utf8mb4 编码则支持......
  • SQLSTATE[HY000] [2002] No such file or directory
    错误信息 SQLSTATE[HY000][2002]Nosuchfileordirectory 表示在尝试连接MySQL数据库时找不到指定的主机或目录。这通常是因为无法通过指定的主机名或IP地址建立连接。根据您的描述,可以通过以下步骤来解决这个问题:解决方案修改数据库配置文件:将数据库配置文件 applica......
  • PGSQL-备份和恢复-增量备份-开启wal归档、并设置定时清理备份之后的wal文件
      一、增量备份定期对数据库做基础备份,再配合WAL的归档日志,可实现再较短时间将数据库恢复 开启WAL归档创建归档目录[root@s101/var/lib/pgsql/13]#lsarchive_walsbackupsscriptswal归档记录 touch pg_archive_logs[root@s101/var/lib/pgsql/13/archive_wals......