兔八哥极品软件园    运行: 4869天 | 文章:640 篇 | 评论:1005 条 | 碎语:1条

sqlserver 数据库对比差异,视图存储过程及表结构

作者:admin 发布于:2014-9-1 16:46 Monday 分类:MSSQL


一、视图和存储过程比较

【原理】利用系统表“sysobjects"和系统表“syscomments”,将数据库中的视图和存储过程进行对比。系统表"sysobjects"之前有详细介绍过,有兴趣可以看看:SQL Server系统表sysobjects介绍与使用

【代码】

/*--调用示例
exec p_compdb 'DBNAME1','DBNAME2'
exec p_compdb 'DBNAME2','DBNAME3'
--*/
 
CREATE proc p_compdb
@db1 sysname, --第一个库
@db2 sysname --第二个库
as
exec('
select 类型=case isnull(a.xtype,b.xtype) when...

阅读全文>>

评论(0) 引用(0) 浏览(4474)

SqlServer发送邮件,定时作业

作者:admin 发布于:2014-8-25 17:38 Monday 分类:MSSQL

今天偶然研究了一下sqlserver发送邮件的功能,之前听说过可以发,但是一直没尝试过,只是用C#写后台程序的方式来发邮件。

现在又多了一种发送邮件的途径。

大致的步骤如下:

1.配置sqlserver邮件发送的smtp服务器。

2.发送测试邮件验证配置的正确性。

3.新建作业,编写sql脚本

4.配置作业,完成。

完整的教程参考自:

http://zhangkui.blog.51cto.com/1796259/340557

其中需要注意的是,

新建配置文件的时候需要记住配置的文件名称,因为发送时候的存储过程需要定义这个参数。

另外,在配置的时候,需要填写身份验证,而不是使用默认的匿名验证。


存储过程可以先在查询分析器中执行一下测试。存储过程需要在msdb库中运行!

发送邮件的sql语句如下:

[sql] v...

阅读全文>>

评论(0) 引用(0) 浏览(4921)

sqlserver复制表

作者:admin 发布于:2014-6-30 15:56 Monday 分类:MSSQL

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)

SQL Server清空数据库中所有表数据的方法

作者:admin 发布于:2013-8-12 10:25 Monday 分类:MSSQL

其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程。

  也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,删除不了,因为可能有外键约束,一个常见的数据库结构是一个主表,一个子表,这种情况下一般都得先删除子表记录,再删除主表记录。

  说道删除数据记录,往往马上会想到的是delete和truncate语句,但在遇到在两个或多个表之间存在约束的话,这两个语句可能都会失 效,而且最要命的是这两个命令都只能一次操作一个表。那么真正遇到要删除SQL S...

阅读全文>>

评论(0) 引用(70) 浏览(80647)

常用的SQL语句备忘

作者:admin 发布于:2013-3-20 8:34 Wednesday 分类:MSSQL

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)


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap