• SQL Server数据库存在判断语句及系统表简介


    Transact-SQL Exists Sentences
    --判断数据库是否存在
    IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名')
        print   'exists'   
    ELSE
        print   'not exists'   
    --判断要创建的表名是否存在
    IF ESISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[表名]') AND OBJECTPROPERTY(id, N'IsUserTable')=1)   
      --删除表   
      DROP TABLE [dbo].[表名]   
    GO
    --判断要创建临时表是否存在
    IF object_id('Tempdb.dbo.#Test') IS NOT Null   
        BEGIN
            print   '存在'   
        END   
    ELSE   
        BEGIN   
            print   '不存在'   
        END   
    --判断要创建的存储过程名是否存在
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[存储过程名]') AND OBJECTPROPERTY(id, N'IsProcedure')=1)   
      --删除存储过程   
      DROP PROCEDURE [dbo].[存储过程名]   
    GO    
    --判断要创建的视图名是否存在
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[视图名]') AND OBJECTPROPERTY(id, N'IsView')=1) 
      --删除视图   
      DROP VIEW [dbo].[视图名]   
    GO   
    --判断要创建的函数名是否存在
    IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id=object_id(N'[dbo].[函数名]') AND OBJECTPROPERTY(id, N'FN',   N'IF', N'TF'))   
      --删除函数   
      DROP FUNCTION [dbo].[函数名]   
    GO
    --判断要创建的列名是否存在
    if   col_length('表名',   '列名')   is   null   
          print   '不存在'

    select   1   from   sysobjects   where   id   in   (select   id   from   syscolumns   where  name='列名')   and   name='表名'
     
    SQL Server 2005 系统表简介
    sysaltfiles 主数据库 保存数据库的文件
    syscharsets 主数据库字符集与排序顺序
    sysconfigures 主数据库 配置选项
    syscurconfigs 主数据库当前配置选项
    sysdatabases 主数据库服务器中的数据库
    syslanguages 主数据库语言
    syslogins 主数据库 登陆帐号信息
    sysoledbusers 主数据库 链接服务器登陆信息
    sysprocesses 主数据库进程
    sysremotelogins主数据库 远程登录帐号
    syscolumns 每个数据库 列
    sysconstrains 每个数据库 限制
    sysfilegroups 每个数据库 文件组
    sysfiles 每个数据库 文件
    sysforeignkeys 每个数据库 外部关键字
    sysindexs 每个数据库 索引
    sysmenbers 每个数据库角色成员
    sysobjects 每个数据库所有数据库对象
    syspermissions 每个数据库 权限
    systypes 每个数据库 用户定义数据类型
    sysusers 每个数据库 用户
  • 相关阅读:
    POJ 1988 Cube Stacking(带权并查集)
    POJ 1414 Life Line(搜索)
    POJ 3468 A Simple Problem with Integers (线段树多点更新模板)
    二叉树前序遍历+中序遍历->后序遍历
    POJ 1061 青蛙的约会(扩展欧几里得)
    XDOJ 1020 ACMer去刷题吧(基础dp)
    POJ 2823 Sliding Window (线段树区间查询)
    线段树学习(一)
    UVA 294 Divisors( 因子分解)
    YYN图论学习路线(推荐)
  • 原文地址:https://www.cnblogs.com/accumulater/p/7116393.html
Copyright © 2020-2023  润新知