Microsoft SQL Server数据库开发问题详解(2)

来源:asp之家 时间:2009-10-23 14:16:00 

3.对于表和字段的常见名字约束

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

解答: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中看到它们包含了内建的空间。你必须通过把它们括在括号中才可以访问。

4.不具有任何T-SQL知识的情况下编写SQL Server2005存储过程

问:有没有可能在不了解T-SQL的情况下编写存储过程? ]

解答:作为过去几年里面微软试图用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的操作——但是这并不是对T -SQL存储过程能力的一个很好的比喻。

标签:Microsoft,SQLServer,数据库,索引
0
投稿

猜你喜欢

  • js控制多图左右滚动切换效果代码分享

    2023-08-28 00:14:32
  • 透明数据加密(TDE)库的备份和还原

    2024-01-14 04:51:57
  • AMP Tensor Cores节省内存PyTorch模型详解

    2021-07-08 01:30:32
  • struts2.3.24+spring4.1.6+hibernate4.3.11+mysql5.5.25开发环境搭建图文教程

    2024-01-18 04:21:31
  • Django values()和value_list()的使用

    2021-08-21 23:03:12
  • 基于keras中的回调函数用法说明

    2023-06-01 14:27:48
  • 使用base64对图片的二进制进行编码并用ajax进行显示

    2024-05-02 16:18:24
  • python 工具 字符串转numpy浮点数组的实现

    2023-07-15 20:37:16
  • 大幅提升MySQL中InnoDB的全表扫描速度的方法

    2024-01-19 20:58:42
  • linux 下python多线程递归复制文件夹及文件夹中的文件

    2021-06-28 03:27:44
  • 列表模块是否需要标题

    2009-06-25 14:11:00
  • windows下MySQL5.6版本安装及配置过程附有截图和详细说明

    2024-01-13 18:58:56
  • python 绘制场景热力图的示例

    2022-01-22 07:03:21
  • Django多进程滚动日志问题解决方案

    2023-02-01 16:21:16
  • Python3 实现文件批量重命名示例代码

    2023-06-18 00:08:32
  • MYSQL教程:my.cnf缓存优化

    2009-07-30 08:58:00
  • golang 各种排序大比拼实例

    2024-05-21 10:18:27
  • 如何利用python查找电脑文件

    2022-02-16 18:30:37
  • perl哈希的一个实例分析

    2023-07-23 21:35:16
  • Python线性回归图文实例详解

    2023-04-06 07:31:42
  • asp之家 网络编程 m.aspxhome.com