SQL根据关键字(字段名称或值)查找所在的表
摘要:# --数据查找(值) #--调用 exec _FindValueInDB '关键字' CREATE PROCEDURE [dbo].[_FindValueInDB] (@value VARCHAR(1024)) AS BEGIN SET NOCOUNT ON; DECLARE @sql VARCH
阅读全文
SQL获取本周,上周,本月,上月第一天和最后一天 注:本周从周一到周天
摘要:DECLARE @ThisWeekStartTime NVARCHAR(100),@ThisWeekEndTime NVARCHAR(100),--本周 @LastWeekStartTime NVARCHAR(100),@LastWeekEndTime NVARCHAR(100),--上周 @ThisMonthStartTime NVARCHAR(100),@ThisMonthEndTime NV
阅读全文
Sql根据起止日期生成时间列表
摘要:1 --monList monList monList 2 --根据起止时间生成月份列表 3 DECLARE 4 @BeginMonth varchar(6), 5 @EndMonth varchar(6) 6 SELECT 7 @BeginMonth='201409', 8 @EndMonth='201506'SELECT 9 CONVERT(VARCH...
阅读全文
sql 在not in 子查询有null值情况下经常出现的陷阱
摘要:–如果null参与算术运算,则该算术表达式的值为null。(例如:+,-,*,/ 加减乘除) –如果null参与比较运算,则结果可视为false。(例如:>=,<=,<> 大于,小于,不等于) –如果null参与聚集运算,则聚集函数都置为null。除count(*)之外。 --如果在not in子查
阅读全文
sql 判断一个表的数据不在另一个表中
摘要:--1 SELECT a.* FROM a LEFT JOIN b ON a.key = b.key WHERE (b.key IS NULL) --2 select *, case when (select count(*) from b where id = a.id)>0 then 1 else 0 end as flag from a --3 select id...
阅读全文
查看系统触发器
摘要:1 select * from sysobjects where xtype='TR' 2 3 select triggers.name as [触发器],tables.name as [表名],triggers.is_disabled as [是否禁用], 4 5 triggers.is_instead_of_trigger AS [触发器类型], 6 7 case w...
阅读全文
SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中
摘要:最近,电脑重装系统之后,安装了SQL Server 2008。附加数据库文件的时候,发现无法附加,提示版本不对。想起来,原来的数据库版本是SQL Server 2008R2。低版本的数据库管理工具无法兼容高版本的数据库文件,所以无法直接附加。我有10几个这样的数据库文件需要附加到数据库管理工具中,上
阅读全文
SQL Server 导入数据失败:无法在只读列“Id”中插入数据
摘要:解决方案: 在数据库导入"选择源表和源视图"->点击对应表后的“编辑映射”按钮->勾选“启用标识列插入”->导入即可。
阅读全文
Sql 触发器禁用和启用
摘要:--启用or禁用指定表所有外键约束 alter table tbname NOCHECK constraint all alter table tbname CHECK constraint all --查看约束 select name , is_disabled from sys.foreign_keys order by name --禁用 ALTER TABLE tb...
阅读全文
ROW_NUMBER over (order by **)
摘要:ROW_NUMBER必须指写over (order by **),有时我根本就不想排序,想按原始顺序 select ROW_NUMBER() over(order by (select 0)) AS ROWNUM,* FROM t
阅读全文
SQL Server数据库表重置自增主键号(通常是指ID)
摘要:执行 DBCC CHECKIDENT ('table_name', NORESEED) 以确定列中的当前最大值 然后使用 DBCC CHECKIDENT ('table_name', RESEED,new_reseed_value) 语句将该值指定为new_reseed_value 将当前标识值强制设置为 0 DBCC CHECKIDENT(TableName,RESEED,0) 清空表...
阅读全文
SQL触发器中的deleted表和inserted表
摘要:SQL触发器中的deleted表和inserted表 在触发器语句中用两个特殊的表一个是deleted表和inserted。它们是通过触发器操作自动创建驻留在内存中的临时表。 描述: Deleted表用于存储 DELETE和 UPDATE语句所影响的行的复本。在执行DELETE或 UPDATE语句时,行从触发器表中删除,并传输到 deleted表中。Deleted表和触发器表通常没有相同的...
阅读全文
Sql 查找整个数据库中的字符串
摘要:--存储过程 CREATE PROCEDURE [dbo].[SP_FindValueInDB] ( @value VARCHAR(1024) ) AS BEGIN SET NOCOUNT ON; DECLARE @sql VARCHAR(1024) DECLARE @table VARCHAR(64) DECLARE @column VARCHA...
阅读全文
Sql 邮件发送
摘要:select name from msdb.dbo.sysmail_profile --邮件发送日志 SELECT * FROM msdb.dbo.sysmail_event_log delete FROM msdb.dbo.sysmail_event_log --邮件内容 SELECT * FROM msdb.dbo.sysmail_allitems delete FROM msdb...
阅读全文
根据excel表格中的内容更新Sql数据库
摘要:关于【无法创建链接服务器 "(null)" 的 OLE DB 访问接口 SQL Server 2008读取EXCEL数据时,可能会报这个错误:无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "MSDASC" 的实例。 1. 此错误主要是在使用代码读取数据时发生: insert into 数据库表名 select * from OpenDataSource ('Micr...
阅读全文