日度归档:2019年5月17日

mssql sqlserver 临时表在数据库中生命周期简介


摘要:
下文讲述sqlserver数据库中临时表中生命周期简介

当临时表被创建后,如果我们不显式的将临时表删除掉,那么临时表在以下几种情况下,会自动消失:
1.sqlserver引擎关闭或重启后
2.连接被断开后
2.1 当前连接被断开后,普通临时表会被自动删除掉
2.2 当所有连接被断开后,全局临时表会被自动删除掉

mssql sqlserver 临时表删除的正确方法分享


摘要:
下文讲述数据库中临时表的正确删除方法,如下所示:
实验环境:sql server 2008 R2


临时表和普通的物理表在sqlserver中存储的位置不同,一个在自己的数据库下,一个存储在tempdb数据库下。
常见的错误清除临时表方法如下:
错误删除方法1:

     --因为临时表存储在tempdb数据库下,如果我们在当前数据库下删除临时表,将会发生一些不可逆转的错误现象
     IF  EXISTS (SELECT * FROM sysobjects WHERE object_id = OBJECT_ID(N'[dbo].[#tempTable]') AND type in (N'U'))
      begin
         DROP TABLE [dbo].[tempTable]    ---将会清除实际存在的物理表
      end
    

错误删除方法2:

     ----临时表在tempdb的表名已经发生变化,不可以采用这种判断方式操作
     if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'[#temptable]'))
    Begin
       drop table #temptable   
    End
    

正确删除临时表的方法:

    if object_id('tempdb..#tempTable') is not null
      begin
         drop table #tempTable
     end

mssql sqlserver 使用sql脚本判断一个字段是否包含指定字符串的方法分享


摘要:
下文讲述使用sql脚本判断一个字段是否包含指定字符串的方法,如下所示:
实验环境:sql server 2008 R2



实现思路:
使用charindex函数判断字段包含一个特定的字符串

  select  *  from [数据表] 
      where CHARINDEX('特定字符串',[字段名称])>0