SQL
文章平均质量分 54
steven088
这个作者很懒,什么都没留下…
展开
-
动态SQL字符长度超过8000【SQL SERVER 2005之完美解决方案】
动态SQL字符长度超过8000,我记得SQL SERVER 2005中用SP_EXECUTESQL打破了这个限制。平常用动态SQL,可能都会用EXEC(),但是有限制,就是8000字符串长度。自从SQL SERVER 2005起,在 INSIDE SQLSERVER 2005 T-SQL PROGRAMMING中提到,使用SP_EXECUTESQL()和NVARCHAR(MAX)可以超越8转载 2011-12-27 22:26:21 · 2615 阅读 · 0 评论 -
用于 暂停(开启)所有触发器 的一个存储过程
/*用途:暂停(开启)所有触发器作者:Steven参数:@flag = 1 开启, @flag = 0 暂停*/CREATE PROCEDURE P_set_trigger @flag bit ASSET NOCOUNT ONDECLARE @TableName sysname, @Action nvarchar(7), @SQLString nvarchar(500)原创 2012-01-04 12:16:30 · 608 阅读 · 0 评论 -
SQL备份数据到其它电脑上
前言:由于不知道 SQL Server 为什么有些时候不能备份数据到其它电脑上(可以是权限等设置问题),但客户又确实有此需要,可以在 SQL Server 增加一个自动定时执行的作业,执行以下语句:BACKUP DATABASE XXX TO DISK = 'D:\FileName.BAK' WITH INITEXEC master..xp_cmdshell 'COPY D:\F原创 2012-01-04 12:16:12 · 1552 阅读 · 3 评论 -
数据库损坏, 附加时出现 '错误: 9003:LSN(14:86:2)无效'
如果排除了权限问题. 就用下面的方法: 1.新建一个同名的数据库 2.停止SQL服务 3.复制要附加的数据文件覆盖新建的数据库的数据文件 4.重新启动SQL 5.此时数据库应该置疑 6.执行SQL语句 7.最好停一次SQL再开, 看是此数据库已可以正常使用(有时会在修复后重启SQL时, 数据会不见了)转载 2012-01-04 12:15:36 · 11250 阅读 · 0 评论 -
刷新所有函數、視圖、存儲過程
/*刷新函數/視圖/存儲過程Chelen2007-02-10*/Create Proc sp_RefreshObjectAsSet NoCount On--定義讀取函數/存儲過程內容變量declare @SyscomText nvarchar(4000)--替換Create用Declare @CurID int, @CurStr Varchar(255)原创 2012-01-04 12:11:04 · 626 阅读 · 0 评论 -
SQL动态游标
说明:用动态字符串打开游标declare @lcSqlcommand nvarchar(4000),@test cursor,@lnSucc int,@name varchar(50)set @lcSqlcommand='use northwindset @test=cursor local scroll forselect name from sysobje原创 2012-01-04 12:08:33 · 763 阅读 · 0 评论 -
SQL Server取汉字拼音函数
Create function fun_getPY ( @str nvarchar(4000) ) returns nvarchar(4000) as begin declare @word nchar(1),@PY nvarchar(4000)set @PY=''while len(@str)>0 begin set @word=lef原创 2012-01-04 12:07:51 · 485 阅读 · 0 评论 -
SQL语句备忘录
目录:字符串分拆函数(F_SplitStr,返回一个表)查询所有表的记录数及硬盘大小(sp_ShowTableSpace)暂停(启用)所有触发器及外键约束(P_set_trigger)检查临时表是否存在用游标UPDATE的当前位置的行资料从系统表中读取视图的字段列表同步新旧数据库的表(sp_insert )返来某个表的字段说明(fn_listextendedpr原创 2011-12-28 10:33:39 · 692 阅读 · 0 评论 -
数据库突然变慢...索引作怪!
本人在最近发现,有些比容量较大的SQL数据库,在使用一段时间后,会突然变很慢很慢。特别体现在一些经常进行操作及查询的大表中。经过深入研究,这一般是索引的问题!如果把此表的索引重建一次,问题即可解决。 为更好地解决此问题,建意在SQL中新建一个数据库维护计划,选中“重新组织数据各索引页”选项,并设置每天运行一次。 /* 刷新数据库视图.sql*/ALTER转载 2012-01-04 12:10:17 · 5751 阅读 · 1 评论