Sql Server中判断表或者数据库是否存在

Sql Server中判断表或者数据库是否存在

SQL Server中判断数据库是否存在:
  法(一):

    select * From master.dbo.sysdatabases where name=‘数据库名‘

  法(二):
    if db_id(‘数据库名‘) is not
null

      drop database 。。。
    go

    create 。。。

SQL Server中判断表对象是否存在:
  select count(*) from sysobjects where
id = object_id(‘数据库名.Owner.表名‘)

  if exists

     (select count(*) from sysobjects where id = object_id(‘数据库名.Owner.表名‘))
    print ‘存在‘
  else
    print ‘不存在‘

SQL Server中判断表中字段是否存在:
  if exists

      (select * from syscolumns where name=‘colname1‘ and id=object_id(‘数据库名.Owner.表名‘))
    print ‘存在‘
  else
    print ‘不存在‘
 (代表表tablename1中存在colname1字段 )
例:
  select * from syscolumns where
name=‘Test‘ and id=object_id(‘dbo.test‘)

SQL Server中判断存储过程或视图是否存在:

  if object_id(‘视图或存储过程名‘) is not null
    drop proc/view 。。。
   go

   create proc/view 。。。

  或

  if Exists(select * from sysobjects where name=‘视图或存储过程名‘ AND   type = ‘P/V‘)
    drop proc/view 。。。
  go

  create proc/view 。。。

时间: 2024-10-06 00:31:10

Sql Server中判断表或者数据库是否存在的相关文章

Sql Server中判断表、列不存在则创建的方法[转]

一.Sql Server中如何判断表中某列是否存在 首先跟大家分享Sql Server中判断表中某列是否存在的两个方法,方法示例如下: 比如说要判断表A中的字段C是否存在两个方法: 第一种方法  ? 1 2 3 4 5 6 7 8 IF EXISTS (  SELECT 1 FROM SYSOBJECTS T1  INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID  WHERE T1.NAME='A' AND T2.NAME='C'  )  PRINT '存在'  E

快速查看SQL Server 中各表的数据量以及占用空间大小

快速查看SQL Server 中各表的数据量以及占用空间大小. CREATE TABLE #T (NAME nvarchar(100),ROWS char(20),reserved varchar(18) ,Data varchar(18) ,index_size varchar(18) ,Unused varchar(18) ) GO INSERT #T EXEC SP_MSFOREACHTABLE 'EXEC sp_spaceused "?"' SELECT * FROM #T O

SQL Server中多表连接时驱动顺序对性能的影响

原文:SQL Server中多表连接时驱动顺序对性能的影响 本文出处:http://www.cnblogs.com/wy123/p/7106861.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 最近在SQL Server中多次遇到开发人员提交过来的有性能问题的SQL,其表面的原因是表之间去的驱动顺序造成的性能问题,具体表现在(已排除其他因素影响的情况下),存储过程偶发性的执行时间超出预期,甚至在调试的时候

Access and SQL Server 中的表转置

样表如下: Student ID sName Subject Score 1 张三 Chinese 80 2 张三 Math 90 3 张三 English 85 4 李四 Chinese 85 5 李四 Math 92 6 李四 English 82 Access: TRANSFORM Avg(Student.Score) AS ScoreOfAvgSELECT Student.sNameFROM StudentGROUP BY Student.sNamePIVOT Student.Subje

转:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek

0.参考文献 Table Scan, Index Scan, Index Seek SQL SERVER – Index Seek vs. Index Scan – Diffefence and Usage – A Simple Note oracle表访问方式 Index Seek和Index Scan的区别以及适用情况 1.oracle中的表访问方式 在oracle中有表访问方式的说法,访问表中的数据主要通过三种方式进行访问: 全表扫描(full table scan),直接访问数据页,查找

转:SQL Server中服务器角色和数据库角色权限详解

当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role).数据库角色指定了可以访问相同数据库对象的一组数据库用户. 数据库角色的成员可以分为如下几类: Windows用户组或用户账户 SQL Server登录 其他角色 SQL Server的安全体系结构中包括了几个含有特定隐含权限的角色.除了数据库拥有者创建的角色之外,还有两类预定义的角色.这些可以创建的角色可以分为如下几类: 固定服务器 固定数据库 用户自定义 固定服

C# 如何确定SQL Server 中数据表是否存在

SQL Server数据库的表名等信息属于架构集合的一部分,ADO.NET中的SqlConnection类包含的GetSchema 方法用于获取支持的架构集合列表,因此,要确定SQL Server 数据库中表是否存在是否存在,可通过SqlConnection.GetSchema("Tables")来获得,该方法返回一个DataTable,DataTable中包含table_catalog.table_schema.table_name.table_type等4列,table_name列

SQL SERVER中获取表间主外键关系

sql server 2008中的主外键关系获取方式: 转自:http://www.cnblogs.com/ke10/archive/2012/06/11/2544655.html SELECT OBJECT_NAME(con.constid) '关系名' ,OBJECT_NAME(sf.fkeyid) '主键表' ,fcol.name '主键' ,OBJECT_NAME(sf.rkeyid) '外键表' ,rcol.name '外键',st.name'数据类型'FROM sysforeignk

SQL Server 中登录账号与数据库用户迁移

1.      先创建一个SqlServer 身份验证的登录名,并映射到数据库中. 如:创建用户 [kk] 映射到数据库 [mytest],此时数据库 [mytest] 会增加一个用户 [kk] 2.      此时再删除登录名 [kk],删除后,数据库[mytest] 将存在一个孤立用户 [kk] 3.      查看当前数据库中是否存在孤立用户 use mytest; exec sp_change_users_login @Action='Report'; 4.      对于孤立用户,有两