接下来的字母可以是以下的任意几种:
· Unicode Standard 定义的字母
· 来自基础拉丁文或者其他语音的十进制数字
· at符号(@)美元符号($)数字符号(#)或者下划线
标识符绝对不能是TransactSQL的保留字SQL Server保留了一些大写和小写的保留字内建的空间或者特殊的字母都不允许出现尽管你可以在好的老版本的Northwind中看到它们包含了内建的空间你必须通过把它们括在括号中才可以访问
我可以在不具有任何TSQL知识的情况下编写SQL Server存储过程吗?
作为过去几年里面微软试图用SQL Server 的NET集成来称霸市场的野心的结果许多程序员都认为创建SQL Server存储过程不再必需TSQL了不幸的是(或者并非如此这根据你的观点)这并不全是事实在技术上是可以在不了解TSQL的情况下创建存储过程的但是没有TSQL的话则无法访问任何的数据
在CLR存储过程内部进行数据访问是通过使用标准的ADONET类来完成的开发人员会在应用程序层发现很多同样的没有用处的数据访问代码这些代码会很轻易地转移到SQLCLR例程中去当中间层的这些ADONET类需要使用TSQL来访问数据的时候在 CLR主机提供的环境中就会使用同样的类
我要强调的是从技术角度来说不使用TSQL来编写存储过程是可能的那么有没有理由这么做呢?一种情况就是这是一个用来从普通文件或者网络服务中检索数据的CLR存储过程并将数据格式设置为行集这里可能就会用到不需要TSQL的操作——但是这并不是对T SQL存储过程能力的一个很好的比喻
CLR存储过程vs TSQL存储过程
CLR存储过程和函数与TSQL存储过程和函数相比性能如何?
专家回答:
这里是用来比较TSQL例程和CLR例程性能的一种常用的规则:用你的数据在你的服务器上测试两套配置看看哪一个比较好
就是说许多人都运行过性能测试一般的结果就是TSQL在标准的CRUD(创建读取更新删除)操作上表现要比好一点而在复杂数学字符串赋值和其他的超过数据访问的任务上则是CLR的性能表现更好一点
SQL Server 的专家Gustavo Larriera编辑了如下一些关于这个主题的有用链接:
·在 SQL Server 中使用CLR Integration
·简单介绍在 SQL Server 中的 CLR Integration
·在 SQL Server 中对CLR 和TSQL做出选择
·介绍 SQL Server 中的 CLR Integration
·SQL Server 闲谈: SQL Server Beta CLR问题与回答
·数据库管理员的酒吧门防御NET大坏狼
·用户自定义函数的性能比较
如何在一个存储过程中使用另一个存储过程的结果
[] [] [] [] []