MS SqlServer
heling0223
这个作者很懒,什么都没留下…
展开
-
sql函数--将类别表的ID转换成对应的Names
CREATE FUNCTION dbo.GetDeclareSort (@declareSortID as int) RETURNS varchar(50) AS BEGIN declare @declareSort as varchar(50)set @declareSort = (select declareSort from tbCodeDeclareSort whe原创 2009-10-22 14:20:00 · 1813 阅读 · 0 评论 -
触发器 判断insert , update ,delete 的方法
<br />Create trigger [abc]<br /> on [dbo].[abcd] after insert,update,DELETE<br />as<br />--新增<br />if not exists(select 1 from deleted) <br /><br />--删除 <br />if not exists(select 1 from inserted)<br /><br />--修改<br />if exists(select 1 from inserted) and原创 2010-08-30 14:23:00 · 962 阅读 · 0 评论 -
SQL SET NOCOUNT ON的含义和作用
SET NOCOUNT 使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息。 语法 SET NOCOUNT { ON | OFF }注释 当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。 即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。当 SET NOCOUNT 为 ON 时,将不给客户端发送存储过程中的每个原创 2010-08-16 10:35:00 · 1091 阅读 · 0 评论 -
两种数据库,四种分页算法的效率比较
<br />分页算法本身没有什么快慢之分,对反应速度起到决定作用的是——能否有效地利用索引!<br /><br />算法 评价 缺点 适用的数据库 max效率最高的 只能有一个排序字段 Excel、Access、SQL Server 2000(2005) 颠倒Top适用范围最广的 最后一页多数据Excel、Access、SQL Server 2000(2005)表变量最大失所望的太多了 SQL Server 2000(2005) Row_Number只适合SQL Server2005 只能用在一种数据库 S转载 2010-06-22 16:52:00 · 538 阅读 · 0 评论 -
用sql2005导出数据到access或excel时,出现" 找不到sourceconnectionoledb"的错误
<br /> 要在 SqlServer Configuration Manager里,找到Sql Server Integration Services,然后鼠标右键属性,将登录身份设为 "本地系统"(local system),然后重启SSIS服务即可。那边导入对话框根本不用重来,直接把错误点掉,然后再点"完成"就行了。原创 2010-08-06 16:55:00 · 956 阅读 · 0 评论 -
触发器实例讲解(三)
<br />接(二)<br />--针对[卷烟销售表],插入第三条测试数据,该数据中的卷烟品牌在卷烟库存表中找不到对应。<br />--触发器将报错。<br />INSERT INTO 卷烟销售表(卷烟品牌,购货商,销售数量,销售单价,销售金额)<br />SELECT ’红河V8’,’某购货商’,10,60,600<br />GO<br />/*<br />结果集<br />服务器: 消息 50000,级别 16,状态 1,过程 T_INSERT_卷烟销售表,行 15<br />错误!该卷烟不存在库存,不转载 2010-07-27 17:06:00 · 405 阅读 · 0 评论 -
触发器实例讲解(二)
<br /> <br />接(一)<br />--触发器示例2<br />/*<br />创建触发器[T_INSERT_卷烟销售表],该触发器较复杂。<br />说明: 每当[卷烟库存表]发生 INSERT 动作,则引发该触发器。<br />触发器功能:实现业务规则。<br />业务规则: 如果销售的卷烟品牌不存在库存或者库存为零,则返回错误。<br />否则则自动减少[卷烟库存表]中对应品牌卷烟的库存数量和库存金额。<br />*/<br />IF EXISTS (SELECT NAME FROM SYS转载 2010-07-27 17:05:00 · 365 阅读 · 0 评论 -
触发器实例讲解(一)
SQL触发器实例1<br /><br />定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 <br /> 常见的触发器有三种:分别应用于Insert , Update , Delete 事件。 <br /><br /> 我为什么要使用触发器?比如,这么两个表: <br /><br /> Create Table Student( --学生表 <br />转载 2010-07-27 17:03:00 · 585 阅读 · 1 评论 -
Sql Serve查询分析器的快捷键
<br />下表列出 SQL Server 查询分析器提供的所有键盘快捷方式。<br /> 活动 快捷方式<br /> 书签:清除所有书签。 CTRL-SHIFT-F2<br /> 书签:插入或删除书签(切换)。 CTRL+F2<br /> 书签:移动到下一个书签。 F2 功能键<br /> 书签:移动到上一个书签。 SHIFT+F2<br /> 取消查询。 ALT+BREAK<br /> 连接:连接。 CTRL+O<br /> 连接:断开连接。 CTRL+F4<br /> 连接:断开连接原创 2010-07-23 12:40:00 · 450 阅读 · 0 评论 -
使用事务处理多条SQL语句时,@@error在捣鬼
<br /> 在很多项目中,都会遇到要处理多条SQL语句,当这几条SQL语句是有关联的情况的时候,要么都执行,要么就都不执行,这时候大家都知道,应该使用事务。因此,咱们果断使用事务,但笔者在执行的时候出现一个很奇怪的现象,总共有三条insert语句,当我第1条和第3条执行成功,第2条执行失败的时候,他居然不回滚,这个可苦恼了我,怎么调试都不成功,这是我的sql语句。<br />create procedure sp_InsertAirlineBookingAsk(@DepartmentID原创 2010-07-20 11:10:00 · 1082 阅读 · 2 评论 -
Microsoft SQL 2000 错误代码 (@@error)
<br />Code ErrorMessage <br />0 操作成功完成。 <br />1 功能错误。 <br />2 系统找不到指定的文件。 <br />3 系统找不到指定的路径。 <br />4 系统无法打开文件。 <br />5 拒绝访问。 <br />6 句柄无效。 <br />7 存储控制块被损坏。 <br />8 存储空间不足,无法处理此命令。 <br />9 存储控制块地址无效。 <br />10 环境错误。 <br />11 试图加载格式错误的程序。 <br />原创 2010-07-20 09:35:00 · 2987 阅读 · 0 评论 -
SHOWPLAN_ALL的解释和用法
<br />SET SHOWPLAN_ALL 的设置是在执行或运行时设置,而不是在分析时设置。<br />如果 SET SHOWPLAN_ALL 为 ON,则 SQL Server 将返回每个语句的执行信息但不执行语句。Transact-SQL 语句不会被执行。在将此选项设置为 ON 后,将始终返回有关所有后续 Transact-SQL 语句的信息,直到将该选项设置为 OFF 为止。例如,如果在 SET SHOWPLAN_ALL 为 ON 时执行 CREATE TABLE 语句,则 SQL Server 将原创 2010-07-19 16:36:00 · 2976 阅读 · 0 评论 -
sql 查询自定义sql函数
<br />SELECT *<br />FROM sys.objects<br />WHERE type IN ('IF','TF','FN','FS','FT');<br /> <br />原创 2010-08-30 19:05:00 · 819 阅读 · 0 评论