开发者社区> rdiframework> 正文

在SQL Server数据库开发中的十大问题

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/2563093 在SQL Server数据库开发中的十大问题 在SQL Server中进行开发会让你身处险地,并且寻找快速解决方案。
+关注继续查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/2563093

在SQL Server数据库开发中的十大问题

在SQL Server中进行开发会让你身处险地,并且寻找快速解决方案。我们编辑了前十名关于SQL Server开发的常见问题。对常见的针对表和字段的名字约束进行探究。学习如何解决并发问题,并且在不了解T-SQL的情况下编写存储过程。查看这些解决方案的快速参考,并且了解更多内容。   在SQL Server开发问题中你可能会问到的十个问题:   1、什么是常见的对表和字段的名字约束?   2、有没有可能在不了解T-SQL的情况下编写存储过程   3、T-SQL 中如何比较CLR 存储过程和函数的性能?   4、我如何在一个存储过程中使用另一个存储过程产生的结果?   5、我如何解决SQL Server 2005的并发问题?   6、在SQL Server 2005中用什么工具替代了查询分析器?   7、你能提供一些有关SQL 和T-SQL的详细信息吗?   8、SQL Server 2005 有没有新的索引类型?   9、我如何创建一个脚本在表中进行选择?   10、我如何列出那些没有记录的数据库表?   对于表和字段的常见名字约束   专家回答:   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的操作——但是这并不是对T -SQL存储过程能力的一个很好的比喻。   CLR存储过程vs. T-SQL存储过程   CLR存储过程和函数与T-SQL存储过程和函数相比,性能如何?   专家回答:   这里是用来比较T-SQL例程和CLR例程性能的一种常用的规则:用你的数据,在你的服务器上,测试两套配置,看看哪一个比较好。 就是说,许多人都运行过性能测试,一般的结果就是T-SQL在标准的CRUD(创建、读取、更新、删除)操作上表现要比好一点,而在复杂数学、字符串赋值和其他的超过数据访问的任务上,则是CLR的性能表现更好一点。 SQL Server 的专家Gustavo Larriera编辑了如下一些关于这个主题的有用链接:   在 SQL Server 2005中使用CLR Integration。   简单介绍在 SQL Server 2005中的 CLR Integration。   在 SQL Server 2005中对CLR 和T-SQL做出选择。   介绍 SQL Server 2005中的 CLR Integration。   SQL Server 闲谈: SQL Server 2005 Beta 2 CLR问题与回答。   数据库管理员的防御.NET。 ·用户自定义函数的性能比较。   如何在一个存储过程中使用另一个存储过程的结果   专家回答:   只要存储过程只产生了一个单个的结果,要在另外一个存储过程中使用这个存储过程产生的输出,这个技术是非常直接的。这个技术就是使用一个临时表来装载存储过程的巨额iguo,然后通过INSERT EXEC语句来执行这个过程并保存结果。一旦结果保留在临时表中了,他们就可以像使用其它表数据一样来使用它了。 这里是我们可能会复用的一个过程例子:   CREATE PROC usp_Demo_AllAuthors as   select * from pubs..authors   GO

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用 TypeScript 快速开发 Serverless REST API
这是一个对于 AWS Lambda Functions 的简单 REST API 项目,使用 TypeScript 语言编写,数据存储采用 MongoDB Atlas 云数据库,从编码到 AWS Lambda 下的单元测试,再到部署、日志调试完整的介绍了如何快速编写一个 FaaS 函数。 本文你将学习到 REST API with typescript MongoDB Atlas data storage Multi-environment management under Serverless Mocha unit tests and lambda-tester interface tes
54 0
SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database)
原文:SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:运用游...
1030 0
OLAP on TableStore:基于Data Lake Analytics的Serverless SQL大数据分析
TableStore(简称OTS)是阿里云的一款分布式表格系统,为用户提供schema-free的分布式表格服务。随着越来越多用户对OLAP有强烈的需求,我们提供在表格存储上接入Data Lake Analytics(简称DLA)服务的方式,提供一种快速的OLAP解决方案。
6716 0
C#各种数据库连接字符串大全——SQLServer、Oracle、Access
在这里统计了.NET项目下常用的数据库连接字符串:SQLServer、Oracle、Access三种数据库(MySql、SQLLite、Excel、HTML Table等等暂不列入)。
1293 0
SQLServer 数据库变成单个用户后无法访问问题的解决方法
今天不知怎么点错了东西,SQLServer中的一个数据库变成单用户了,而且无法访问,下面是解决方法,有需要的朋友可以参考一下   解决办法是: 运行下面SQL 复制代码 代码如下: USE master;  GO  ...
818 0
【汇编语言/底层开发】8、数据处理的两个基本问题
标题中所指的两个基本问题是:(1)处理的数据在什么地方?(2)要处理的数据有多长?要使得计算机正常工作,这两个问题必须给予说明,否则无法工作。 1、bx, si, di, bp 这四个寄存器用于内存寻址的规则有: (1)在8086中只有这四个寄存器可以用于[]中进行内存单元寻址。
774 0
+关注
rdiframework
RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,给用户和开发者最佳的.Net框架部署方案。 框架官网:http://www.rdiframework.net/ 框架博客:http://blog.rdiframework.net/
314
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载