SQL SERVER 全部语法攻略

时间:2022-03-18 00:32:11

http://www.cnblogs.com/Joetao/category/279444.html

 

SQL

触发器deleted 表和 inserted 表详解(转)摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->createtriggerupdateDeleteTimeonuserforupdateasbeginupdateusersetUpdateTime=(getdate())fromuserinnerjoininsertedonuser.UID=Inserted.UIDend上面的例子是在执行更新操作的时候同时更新,一下修改时间。关键在于Inserted表触发器语句中使用了两种特殊的表:delet阅读全文posted @ 2011-11-16 00:40 焦涛 阅读(30) | 评论 (0)  编辑SQL中存储过程和函数的区别摘要: 本文部分内容转自http://www.cnblogs.com/lengbingshy/archive/2010/02/25/1673476.html本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。 函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少 1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 2. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。 3. 存储过程一般是作为...阅读全文posted @ 2011-11-16 00:38 焦涛 阅读(84) | 评论 (0)  编辑面试经典考题(一):SQL部分摘要: (1)写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。)--定义临时表@A并为@A产生数据declare @A table(id int identity(1,1),testNum int)declare @i intset @i=1while @i<=300begin insert into @A(testNum) values(@i)set @i=@i+2end --产生不连续的id(删除部分id)delete @A where id=1delete @A where id=10delete @A whe阅读全文posted @ 2011-11-16 00:18 焦涛 阅读(111) | 评论 (0)  编辑SQL基本操作(四):索引与数据完整性摘要: --为kc表的课程名列创建索引--使用简单索引use xscjif EXISTS(select name from sysindexes where name='kc_name_ind')drop index kc.kc_name_indgo--创建索引create index kc_name_ind on kc(课程名)go--根据kc表的课程号列创建唯一的聚集索引,因为指定了clustered子句,所以该索引对磁盘上的数据进行物理排序--使用唯一聚集索引use xscjif EXISTS(select name from sysindexes where name='阅读全文posted @ 2011-11-03 15:42 焦涛 阅读(88) | 评论 (0)  编辑SQL基本操作(三):存储过程和触发器摘要: --不带参数的存储过程 返回学生学号,姓名,课程号,成绩,学分--检查是否已存在同名的存储过程,若有,删除use xscjif EXISTS(select name from sysobjects where name='student_info' and type='p')drop procedure student_infogo--创建存储过程create procedure student_infoasselect a.学号,姓名,课程名,成绩,t.学分 from xs a inner join xs_kc b on a.学号=b.学号 inner jo.阅读全文posted @ 2011-11-03 15:41 焦涛 阅读(347) | 评论 (0)  编辑SQL基本操作(二):T-SQL语言摘要: --用户自定义数据类型--添加自定义数据类型use xscj--调用系统存储过程exec sp_addtype 'student_num','char(6)','not null' --将当前的T-SQL批处理语句发送给SQL Servergo--删除自定义数据类型use xscjexec sp_droptype 'student_num' go --创建局部变量 @var1,@var2并赋值,然后输出变量--定义变量(变量名及类型)declare @var1 varchar(20),@var2 var...阅读全文posted @ 2011-11-03 15:34 焦涛 阅读(122) | 评论 (0)  编辑SQL基本操作(一):关于游标Cursor摘要: use master gocreate database xscjgouse xscjgocreate table xs(学号 char(6) not null primary key, 姓名 char(8), 专业名 char(10), 性别 bit default 1, 出生日期 smalldatetime, 总学分 tinyint, 备注 text)gocreate table kc(课程号 char(3) not null primary key, 课程名 char(16), 开课学期 tinyint default 1, check(开课学期>=1 and 开课学期<=8阅读全文posted @ 2011-11-03 15:30 焦涛 阅读(60) | 评论 (0)  编辑用于不同服务器数据库之间的数据操作摘要: --创建链接服务器exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 'exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from ITSV.数据库名.dbo.表名--导入示例 select * into 表 from ITSV.数据库名.dbo.表名--以后不再使用时删除链接服务器阅读全文posted @ 2011-09-01 09:02 焦涛 阅读(19) | 评论 (0)  编辑数据库 的版本为 661,无法打开。此服务器支持 655 版及更低版本。不支持降级路径。摘要: “数据库 的版本为 661,无法打开。此服务器支持 655 版及更低版本。不支持降级路径”出现这样的问题,一般是因为数据库版本不同造成的。我们可以用下面的语句查询数据库的版本use masterselect @@VERSION(1)661是sql2008 R2的版本号 Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) Apr 2 2010 15:53:02 Copyright (c) Microsoft(2)655版本也就是sql2008 sp1版本号 Microsoft SQL Server 2008 (SP1) - 阅读全文posted @ 2011-07-25 16:42 焦涛 阅读(4531) | 评论 (0)  编辑文字型态的数据要用什么样的格式储存?char, varchar, nchar, nvarchar??(转)摘要: 文字型态的数据要用什么样的格式储存?char, varchar, nchar, nvarchar??使用数据库储存文字的数据,在数据库中会有以下这些的型态可以设定char, varchar, nchar, nvarchar那么到底要用哪种型态比较适合,这些型态之间有何差异呢??意义与差异从这些字眼上来看,都是有char,差别在var与n这两个字眼,那么就先来简单介绍一下这两个字眼代表的意义:var:不定长度→有多长存多长n:Unicode→无论英文、数字、中文、日文、...每个字都占2Byte。说明一下:char与nchar宣告的是固定的长度,因此如果宣告char(5),但是只放a这个字,那么阅读全文posted @ 2011-07-19 10:47 焦涛 阅读(45) | 评论 (0)  编辑空间数据库学习笔记(五):可编程性摘要: SQLCLR & .NET CLR互编程性(1)可以在SQL Server 2008的安装目录下找到SQLCLR与.NET CLR共享的空间数据类型共享库组件(Microsoft.SqlServer.Types.dll),该组件除了支持基于SQL Server 2008的空间数据类型数据库编程,同时也支持基于.NET Framework的面向对象编程,包括对VB.NET、C#的多语言的支持,该组件位于如下安装目录中 C:\ProgramFiles\MicrosoftSQLServer\100\SDK\Assemblies\Microsoft.SqlServer.Types.dll(2)阅读全文posted @ 2011-06-22 15:33 焦涛 阅读(85) | 评论 (0)  编辑空间数据库学习笔记(四):空间引用标识符(SRID)摘要: (一)基础知识(1)每个空间实例都有一个空间引用标识符 (SRID)(2)SRID 对应于基于特定椭圆体的空间引用系统,可用于平面球体映射或圆球映射(3)从两个空间数据实例派生的任何空间方法的结果仅在这两个实例具有相同的 SRID(该 SRID 基于相同的用于确定实例坐标的度量单位、数据和投影)时才有效。(4)SRID 最常见的度量单位为米或平方米。(二)几何图形(geometry数据类型)(1)几何图形(geometry)实例默认 SRID 为零(2)若要在 geometry 数据类型方法的计算中指明未定义的平面空间,SQL Server 数据库引擎 使用 SRID 0。(三)地域实例必须使阅读全文posted @ 2011-06-22 14:06 焦涛 阅读(125) | 评论 (0)  编辑空间数据库学习笔记(三):空间数据操作摘要: 根据空间数据的两种数据类型geometry 和geography ,虽然他们不同,但操作的方法基本相同。(一)构造空间数据的数据形式输入值:(1)使用熟知文本输入WKT(Well-Known Text)构造实例 STxxxFromText的形式:(2)使用熟知二进制输入WKB(Well-Known Binary)构造实例 STxxxFromWKB的形式:(3)使用 GML(几何对象的 XML 表示形式) 文本输入构造实例 GeomFromGml返回值:(1)返回几何图形实例的 WKT 表示形式 STAsText、ToString 、STAsTextZM (任何 Z 值和 M 值的几何图形的 W阅读全文posted @ 2011-06-22 11:52 焦涛 阅读(33) | 评论 (0)  编辑空间数据库学习笔记(二):空间数据类型摘要: (一)空间数据库类型(1)geometry 数据类型:支持平面或欧几里得(平面球)数据(2)geography 数据类型:符合适用于 SQL 规范的开放地理空间联盟 (OGC) 简单特征 1.1.0 版。可存储诸如 GPS 纬度和经度坐标之类的椭圆体(圆球)数据(二)geometry和geography层次结构geometry 和 geography 数据类型支持十一种空间数据对象或实例类型。但是,这些实例类型中只有七种“可实例化”;下面以geometry为列:蓝色部分表示可实例化(三)两种数据类型之间的差别(1)测量的对象不同 geometry:应用于平面(或平面球)系统中 geograph阅读全文posted @ 2011-06-22 10:23 焦涛 阅读(39) | 评论 (0)  编辑空间数据库学习笔记(一):学习资料汇总摘要: (1)Bēniaǒ的MSSQL & Oracle系列阅读全文posted @ 2011-06-22 09:58 焦涛 阅读(27) | 评论 (0)  编辑经典SQL语句摘要: 1将一个表的字段插入另一个表中--例句insert into Region(RegionID,RegionName,RegionParentID, ElementID) select Region.RegionID ,Region.RegionName ,Region.RegionParentID,Region.ElementID from WaterManage.dbo.Region --例句insert into Element select *from WaterManage.dbo.Element where Element.LayerID=1阅读全文posted @ 2011-05-17 19:10 焦涛 阅读(20) | 评论 (0)  编辑个项目涉及到的50个Sql语句(整理版)摘要: /*标题:一个项目涉及到的50个Sql语句(整理版)作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)时间:2010-05-10地点:重庆航天职业学院说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。问题及描述:--1.学生表Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号--3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名--阅读全文posted @ 2011-02-28 10:51 焦涛 阅读(30) | 评论 (0)  编辑xscj数据库摘要: use master gocreate database xscjgouse xscjgocreate table xs(学号 char(6) not null primary key,姓名 char(8),专业名 char(10),性别 bit default 1,出生日期 smalldatetime,总学分 tinyint,备注 text)gocreate table kc(课程号 char(3) not null primary key,课程名 char(16),开课学期 tinyint default 1,check(开课学期>=1 and 开课学期<=8),学时 tiny阅读全文posted @ 2011-02-28 10:03 焦涛 阅读(62) | 评论 (0)  编辑Login failed for user 'sa'. Reason: The account is disabled. (Microsoft SQL Server, Error: 18470)摘要: 今天在连接数据库SQL 2008时出现这样的错误!,在网上查了下。解决方法如下:用Windows身份验证登录系统,双击 “安全性”|“登录名”|sa。出现下面操界面,要“状态”|“登录” 下,把“启用”改为禁用!阅读全文posted @ 2011-01-11 18:35 焦涛 阅读(239) | 评论 (0)  编辑