background image

SQL Server 数据库开发遇到的问题

    在 SQL Server 中进行开发会让你身处险地,并且寻找快速解决方案。我们编辑了前十名
关于

SQL Server 开发的常见问题。对常见的针对表和字段的名字约束进行探究。学习如何解

决并发问题,并且在不了解

T-SQL 的情况下编写存储过程。查看这些解决方案的快速参考,

并且了解更多内容。
  在

SQL Server 开发问题中你可能会问到的十个问题:

  什么是常见的对表和字段的名字约束

  有没有可能在不了解

T-SQL 的情况下编写存储过程 

  

T-SQL 中如何比较 CLR 存储过程和函数的性能? 

  我如何在一个存储过程中使用另一个存储过程产生的结果

  我如何解决

SQL Server 2005 的并发问题? 

  在

SQL Server 2005 中用什么工具替代了查询分析器? 

  你能提供一些有关

SQL 和 T-SQL 的详细信息吗? 

  

SQL Server 2005 有没有新的索引类型? 

  我如何创建一个脚本在表中进行选择

  我如何列出那些没有记录的数据库表

  对于表和字段的常见名字约束
  专家回答

:SQL Server 2000 下的表和字段名称有 1 到 128 字节的限制,并且遵循用于标

识的规则。第一个字母必须是如下的一种:

Unicode Standard 2.0 中规定的字母;Unicode 对字

母的定义包括

:拉丁字母,从 A 到 Z,除了来自其他语言的字母之外;下划线(_),at 符号(@),

或者数字符号

(#)。

  在

SQL Server 中以这些符号作为标识符的开始具有特殊的含义。一个以 at 符号(@)开头

的标识符表示一个本地的变量或者参数。一个以数字符号

(#)开头的标识符代表一个临时表

或者过程。一个以两个数字符号

(##)开头的标识符标识的是一个全局临时对象。一些

Transact-SQL 函数的名字以两个 at 符号(@@)开头。为了避免与这些函数混淆,推荐你不要
使用两个

at 符号(@@)开头的标识符。接下来的字母可以是以下的任意几种: Unicode 

Standard 2.0 定义的字母;来自基础拉丁文或者其他语音的十进制数字;at 符号(@),美元符号
($),数字符号(#),或者下划线。
  标识符绝对不能是

Transact-SQL 的保留字。SQL Server 保留了一些大写和小写的保留字。

内建的空间或者特殊的字母都不允许出现,尽管你可以在好的老版本的

Northwind 中看到

它们包含了内建的空间。你必须通过把它们括在括号中才可以访问。
  不具有任何

T-SQL 知识的情况下编写 SQL Server2005 存储过程吗?

  作为过去几年里面微软试图用

SQL Server 2005 的.net 集成来称霸市场的野心的结果,

许多程序员都认为创建

SQL Server 存储过程不再必需 T-SQL 了。不幸的是(或者并非如此,

这根据你的观点

),这并不全是事实。在技术上是可以在不了解 T-SQL 的情况下创建存储过

程的,但是没有

T-SQL 的话则无法访问任何的数据。

  在

CLR 存储过程内部进行数据访问,是通过使用标准的 ADO.NET 类来完成的。开发

人员会在应用程序层发现很多同样的没有用处的数据访问代码,这些代码会很轻易地转移

SQLCLR 例程中去。当中间层的这些 ADO.NET 类需要使用 T-SQL 来访问数据的时候,

 CLR 主机提供的环境中就会使用同样的类。

  我要强调的是,从技术角度来说,不使用

T-SQL 来编写存储过程是可能的。那么有没

有理由这么做呢

?一种情况就是这是一个用来从普通文件或者网络服务中检索数据的 CLR

存储过程,并将数据格式设置为行集。这里可能就会用到不需要

T-SQL 的操作——但是这