随笔分类 - MsSQL
摘要:在SQLServer里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert,Update,Delete事件。 我为什么要使用触发器?比如,这么两个表: Create Table Student( ...
阅读全文
摘要:Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'...
阅读全文
摘要:比如在Northwind数据库中有一个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID)这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊,这是如何匹配的呢?EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或FalseE
阅读全文
摘要:一.如何用slq语句把一个表中的某几个字段的数据插入到另一个新表中,就要用下面这条slq语句: insert into 表名1(字段1,字段2) select 字段1,字段2 from 表名2这里有一点值得注意的是这2个字段要一一对应,并且按顺序。 二.如果另一个表是已经有数据的表,只希望更改其中的一列或几列的话,则用下面的sql语句: update 表名1,表名2 set 表名1.字段1 = 表名2.字段1 where 表名1.字段2 = 表名2.字段2因为第二个表是更新,所以只要指定与第一个表的关系,目的是数据的更新的时候能一一对应。
阅读全文
摘要:取出sql表中第31到40条的记录(以自动增长ID为主键):Sql Server 下:方案1:select top 10 * from t where id not in (select top 30 id form t order by id) order by id;方案2:select top 10 * from t where id in (select top 40 id from t order by id) order by id desc;MySql 下:select * from t order by idlimit 30,10;Oracle 下:select * from
阅读全文
摘要:create table test(testId int primary key identity(1,1),--testId字段从1开始每次自增1 testName varchar(30), testPass varchar(30), insert into test(testName,testP...
阅读全文
摘要:--备份数据库backup database ming to disk='F:/ming.bak' /*wait for time '12:00:00'*/--删除删除数据库drop database ming--恢复数据库restore database ming from disk='f:/mi...
阅读全文
摘要:在SQL Server 中完成计算1-100之内所有的偶数之和begindeclare @sum int,@i intset @sum=0set @i=2while(@i<=100)beginset @sum=@sum+@iset @i=@i+2endprint "the sum is:"+cast...
阅读全文