作者:admin 发布于:2014-9-1 16:46 Monday
分类:MSSQL
01Sep
一、视图和存储过程比较
【原理】利用系统表“sysobjects"和系统表“syscomments”,将数据库中的视图和存储过程进行对比。系统表"sysobjects"之前有详细介绍过,有兴趣可以看看:SQL Server系统表sysobjects介绍与使用
【代码】
CREATE proc p_compdb
@db1 sysname,
@db2 sysname
as
exec ( '
select 类型=case isnull(a.xtype,b.xtype) when...
|
阅读全文>>
评论(0)
引用(0)
浏览(4474)
作者:admin 发布于:2014-8-25 17:38 Monday
分类:MSSQL
25Aug
今天偶然研究了一下sqlserver发送邮件的功能,之前听说过可以发,但是一直没尝试过,只是用C#写后台程序的方式来发邮件。
现在又多了一种发送邮件的途径。
大致的步骤如下:
1.配置sqlserver邮件发送的smtp服务器。
2.发送测试邮件验证配置的正确性。
3.新建作业,编写sql脚本
4.配置作业,完成。
完整的教程参考自:
http://zhangkui.blog.51cto.com/1796259/340557
其中需要注意的是,
新建配置文件的时候需要记住配置的文件名称,因为发送时候的存储过程需要定义这个参数。
另外,在配置的时候,需要填写身份验证,而不是使用默认的匿名验证。
存储过程可以先在查询分析器中执行一下测试。存储过程需要在msdb库中运行!


发送邮件的sql语句如下:
阅读全文>>
评论(0)
引用(0)
浏览(4921)
作者:admin 发布于:2014-6-30 15:56 Monday
分类:MSSQL
30Jun
1、新表不存在(即复制数据的同时创建与旧表相同结构的新表):SELECT * INTO dbo.test_backup FROM dbo.TP_TeacherSalaryPreviewHistory WHERE SemesterID=137AND TrainingCenterID=13AND (GradeCode BETWEEN 14 AND 16)AND SegmentID=2AND SalaryDate='2012-8'
2、新表已存在,从旧表从插入选择的数据(注意:表的[主键]不要复制,因为具有唯一性,否则:Sql Server提示“当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'xxxxxx' 中的标识列插入显式值”)
INSERT INTO dbo.test...
阅读全文>>
标签: sqlserver
评论(0)
引用(0)
浏览(4640)
作者:admin 发布于:2013-8-12 10:25 Monday
分类:MSSQL
12Aug
其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程。
也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,删除不了,因为可能有外键约束,一个常见的数据库结构是一个主表,一个子表,这种情况下一般都得先删除子表记录,再删除主表记录。
说道删除数据记录,往往马上会想到的是delete和truncate语句,但在遇到在两个或多个表之间存在约束的话,这两个语句可能都会失
效,而且最要命的是这两个命令都只能一次操作一个表。那么真正遇到要删除SQL S...
阅读全文>>
评论(0)
引用(70)
浏览(80647)
作者:admin 发布于:2013-3-20 8:34 Wednesday
分类:MSSQL
20Mar
1. Sql 延时候执行
a. 三十秒后执行 WAITFOR DELAY 后面的语句
WAITFOR DELAY '00:00:30'
b. 10:00分开始执行后面的代码
WAITFOR TIME '10:00';
2. 收缩数据库,使其空余空间为0%
DBCC SHRINKDATABASE (DataBaseName,0)
3. 取得数据库文件所在的盘符
declare @dirverName varchar(50)
declare @bakUpPath varchar(255)
select top 1 @dirverName = filename from sysfiles
set @dirverName = substring(...
阅读全文>>
评论(0)
引用(114)
浏览(86141)