
SQL Server/T-SQL
文章平均质量分 53
alvachien
Development Architect, SAP Labs China.
展开
-
【读书笔记】Inside Microsoft SQL Server 2005 – T-SQL Programming
Author: Itzik Ben-Gan; Dejan Sarka; Roger WolterBy Alva Chien Docu. Version Comment原创 2006-10-10 11:21:00 · 3450 阅读 · 0 评论 -
T-SQL Part XII: Access Remote SQL Server
要链接远程的SQL Server,需要一下几个步骤(以下的步骤都是在远程系统上进行):确认远程SQL Server所监听的端口号 官方的文档是使用SQL Server Configuration Manager来获取SQL Server的当前TCP端口。 https://msdn.microsoft.com/en-us/library/ms177440.aspx?f=255&MSPPError原创 2016-07-18 16:18:18 · 382 阅读 · 0 评论 -
T-SQL Part X: UNION, EXCEPT and INTERSECT
MSDN上关于EXCEPT和INTERSECT的文档。MSDN上关于UNION的文档。值得注意的是,UNION其实有两种,一种是普通的UNION,另外一种是UNION ALL。加上EXCEPT和INTERSECT构成了T-SQL中的四种Set操作。UNION ALL:把左表和右表合成一张表并返回;UNION:把左表和右表去除重复项后,合成一张表并返回。换言之,UNION的结果集中没有重复项。E原创 2016-06-15 12:22:48 · 402 阅读 · 0 评论 -
T-SQL Part IX, PIVOT and UNPIVOT
不同于CROSS JOIN, CROSS APPLY, OUTER APPLY,MSDN文档对PIVOT和UNPIVOT 想得重视了一点,单独做了一个页面来介绍。 简单来说,PIVOT用来把行转成列,而UNPIVOT可以把列转成行。用MSDN文档给出的两个例子来做说明。 例一,基础示例。-- Pivot table with one row and five columns SELECT '原创 2016-06-14 16:00:54 · 644 阅读 · 0 评论 -
T-SQL Part VIII: CROSS APPLY, OUTER APPLY
除了CROSS JOIN, INNER JOIN, OUTER JOIN之外,T-SQL还提供了CROSS APPLY和OUTER APPLY这两个较为另类的Set操作符。首先来看CROSS APPLY。跟CROSS JOIN一样,MSDN只在FROM Clause的文档中做了一个介绍,如下: Both the left and right operands of the APPLY opera原创 2016-06-14 15:10:43 · 608 阅读 · 0 评论 -
T-SQL Part VII: CROSS JOIN
虽然不能确定是不是只有个SQL Server提供了Cross Join的功能,貌似W3School的SQL教程中是没有的 SQL教程。而Wikipedia中倒是有,也是最新的SQL:2011SQL:2011标准中才有。对于CROSS JOIN,一言以蔽之,就是生成笛卡尔积(Cartesian Product)的。这是一个属于线性代数范畴的数学概念, 具体可以参考Wikipedia上的诠释或去翻《线原创 2016-06-13 17:51:53 · 392 阅读 · 0 评论 -
T-SQL Part XI: Login Failed 18456 以及修改Authentication Mode
这是一个很常见的场景,安装SQL Server时候选择了默认的Windows Authentication Only,然后使用中发现还是需要支持用户名/密码登录。按照MSDN的文档,然而并没有多大作用。ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ; GO 上述原创 2016-06-29 10:59:48 · 571 阅读 · 0 评论 -
T-SQL Part VI: Prevent error message "Saving changes is not permitted" in SSMS
使用SSMS时,经常遇到的问题是,修改一张table时,弹出一个错误对话框:“Saving changes is not permitted”。这个错误通常是因为以下错误(参阅MSDN的KB文档 https://support.microsoft.com/en-us/kb/956176)You change the Allow Nulls setting for a column. 修改了一个Co原创 2016-06-02 15:45:37 · 742 阅读 · 0 评论 -
T-SQL Part IV: ORDER BY
ORDER BY 返回一个Cursor,并不返回结果集。而试图将Cursor作为输入将产生了错误。所以,下列的SQL语句将产生错误:SELECT VerID, IsCompleteFROM ( SELECT TOP 10 VerID, IsCompleteFROM dbo.T_AOTInfoORDER BY VerID DESC ) AS TABLE1;错误:Ms原创 2016-05-19 11:51:17 · 667 阅读 · 0 评论 -
T-SQL Part V: Locks
写SQL最常见的问题就是Dead Lock了。本篇简单介绍入门级别的Lock使用和排查。首先来看MSDN上的官方文档(https://technet.microsoft.com/en-us/library/jj856598(v=sql.110).aspx)。摘要一下,SQL Server可以进行Lock的Resource:ResourceDescription原创 2016-05-30 16:50:37 · 466 阅读 · 0 评论 -
T-SQL, Part III: Check table's existance
There are several approaches to achieve so. Just list out all approaches I have tried:Approach 1: select from INFORMATION_SCHEMA.TABLESExample:USE [ACLearn];GOIF EXISTS (SELECT * FROM INFORM原创 2016-03-27 18:47:20 · 348 阅读 · 0 评论 -
T-SQL, Part II: IMAGE/TEXT Insert
To insert data to IMAGE/TEXT (both keywords are recommend to replace with nvarbinary(MAX)/nvarchar(MAX) column, the T-SQL scripts as following:INSERT INTO myTable(Document)SELECT * FROM OPENROWS原创 2016-03-27 15:08:06 · 365 阅读 · 0 评论 -
T-SQL, Part I: LIKE Pattern
The basic usage of LIKE pattern:%: it would be placed at the end and/or the beginning of a string._: it looks at a string, but only for a single character before or after the position of the原创 2016-03-27 15:06:51 · 433 阅读 · 0 评论 -
Resources for embedded SQL engine
1. Official Website for SQLite: http://www.sqlite.org/2. .Net Wrapper for SQLite (System.Data.SQLite): http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki3. SQL Server Compact: http:原创 2013-10-24 20:45:32 · 802 阅读 · 0 评论 -
Information Schema of SQL Server Compact 3.5
The following table lists Information Schema views that are supported by SQL Server Compact 3.5.ViewContains information aboutCOLUMNSColumns accessed to the current user in the curre原创 2009-01-14 20:53:00 · 735 阅读 · 0 评论 -
Microsoft JET Engine的完美替代: SQL Server Compact Version 3.5和完美的Synchronizer库
喜欢自己写程序的人都知道,Microsoft JET Engine是一个非常好用的In-Process的基于文件(即Access的数据文件,后缀名为MDB)的数据库引擎,好些小网站也使用MDB文件作为数据库解决方案。一般而言,需要独立的数据库引擎进程的程序都是比较巨大的程序。然而,使用过Microsoft JET Engine的兄弟都知道,这个引擎的优点跟它的缺点一样明显。撇开它安全性能较弱等原创 2007-10-16 16:49:00 · 1842 阅读 · 3 评论 -
从SQL Server移植到Access MDB数据库的一点总结
Date: 05.12.2006Version: 1By Alva Chien这段时间一直忙着把我自己的一个项目从SQL Server平台上移植到Microsoft Jet SQL上,所谓Microsoft Jet SQL对我而言其实就是使用MDB文件(基于Microsoft Access 2003,文件格式: Office 2000/2003)了。不知道Microsoft出于原创 2006-12-05 10:07:00 · 1554 阅读 · 1 评论 -
C# IV: 数据库基础操作2
需上一篇C# III:数据库基础操作另外一个经常碰到的数据库操作是,单次执行多个SQL语句,譬如,一次性插入多条数据。方法一,拼凑长SQL语句 拼凑长SQL语句实际上是String的操作。如下示例: string[] arr = { query2, query3 }; string allQueries = string.Join(";", arr); command.CommandTex原创 2016-08-22 19:38:02 · 407 阅读 · 0 评论