大数据
-
一次性压缩Sqlserver2005中所有库日志的存储过程
有没有办法更快一点? 有没有办法一次性收缩所有数据库? 复制代码 代码如下: alter database 数据库名 set recovery simple go dbcc shrinkdatabase (数据库名) go alter database 数据库名 set recovery full go …
-
EXEC(EXECUTE)函数访问INSERTED或DELETED的内部临时触发表
刚开始时,这个表的字段很少(10个以内),前开发者把这个表的所有存储过程与触发器以及表函数全是写死了。用户每添加一些字段,都需要手动去更改这些存储过程与触发器以及表函数。现在这个表的字段已经高达300个以…
-
在SQL触发器或存储过程中获取在程序登录的用户
实现一个AuditLog的功能,是B/S结构专案。 每个用户可以登录系统,在程序中操作数据(添加,更新和删除)需要实现记录操作跟踪。是谁添加,更新和删除的,这些信息将会插入至AuditLog表中。 一般情况之下,在SQL的触…
-
判断字段是否被更新 新旧数据写入Audit Log表中
Insus.NET解决这个问题,只有创建另外一个表,将存储用户决定要跟踪的表,以及这个表中需要跟踪的字段。 还要创建另外一个表[Audit],就是存储跟踪记录的表: 复制代码 代码如下: Audit SET ANSI_NULLS ON GO SET Q…
-
判断触发器正在处理的是插入,删除还是更新触发
但是有时候,可以视看处进逻辑程度,可以把三者写成一个触发器,只是在其中稍作判断而已。 你可以根据从下面方法判断触发器是是处理了插入,删除还是更新触发的: 复制代码 代码如下: --宣告两个变量 DECLARE @D BI…
-
SQL 统计一个数据库中所有表记录的数量
复制代码 代码如下: CREATE TABLE #tmptb(tbname sysname,tbrows int ,tbREserved varchar(10),tbData varchar(10) ,tbIndexSize varchar(10),tbUnUsed varchar(10)) INSERT INTO #tmptb exec sp_MSForEachTable 'E…
-
sqlserver 动态创建临时表的语句分享
因此计划先把数据转插入一个临时表,再对临时表的数据进行分析。 问题点是如何动态创建临时表。原先Insus.NET使用下面代码实现: 复制代码 代码如下: DECLARE @s NVARCHAR(MAX) = ' IF OBJECT_ID(''[dbo].[#Tb]'') …
-
OBJECTPROPERTY与sp_rename更改对象名称的介绍
相关的OBJECTPROPERTY可参考:http://msdn.microsoft.com/en-us/library/ms176105.aspx 开发过程中,错误免不了。为了纠正错误与规范化。可以使用MS SQL Server的系统存储过程sp_rename与OBJECTPROPERTY来更改重命名…
-
sqlserver 导出插入脚本代码
当然有其它工具可以做这件事,但如果客户不允许你在服务器乱装东西时这个脚本就会有用了。 复制代码 代码如下: DECLARE @tbImportTables table(tablename varchar(128), deleted tinyint) -- append tables which y…
-
sp_executesql 使用复杂的Unicode 表达式错误的解决方法
Msg 102, Level 15, State 1, Line 3 Incorrect syntax near '+'. 当你尝试执行下面这段代码时,会得到如上这个错误提示。 复制代码 代码如下: DECLARE @MyName NVARCHAR(100) DECLARE @FieldName SYSNAME = N'Name…