zoukankan      html  css  js  c++  java
  • MSSQL 存储过程

    1.更换数据库用户名

    代码
    CREATE PROCEDURE dbo.changename
    @OldOwner as NVARCHAR(128),--参数原所有者
    @NewOwner as NVARCHAR(128)--参数新所有者
    AS
    DECLARE @Name as NVARCHAR(128)
    DECLARE @Owner as NVARCHAR(128)
    DECLARE @OwnerName as NVARCHAR(128)
    DECLARE curObject CURSOR FOR
    select 'Name' = name,
    'Owner' = user_name(uid)
    from sysobjects
    where user_name(uid)=@OldOwner
    order by name
    OPEN curObject
    FETCH NEXT FROM curObject INTO @Name@Owner
    WHILE(@@FETCH_STATUS=0)
    BEGIN
    if @Owner=@OldOwner
    begin
    set @OwnerName = @OldOwner + '.' + rtrim(@Name)
    exec sp_changeobjectowner @OwnerName@NewOwner
    end
    FETCH NEXT FROM curObject INTO @Name@Owner
    END
    close curObject
    deallocate curObject
    GO

    exec changename 'cdpu2010','dbo' 

     2.删除表和表之前的关系

    代码
    DECLARE c1 cursor for
        
    select 'alter table ['+ object_name(parent_obj) + '] drop constraint [cdpu2010]; '
        
    from sysobjects
        
    where xtype = 'F'
    open c1
    declare @c1 varchar(8000)
    fetch next from c1 into @c1
    while(@@fetch_status=0)
        
    begin
            
    exec(@c1)
            
    fetch next from c1 into @c1
        
    end
    close c1
    deallocate c1

    3.删除表

    代码
    use cdpu2010
    GO
    declare @sql varchar(8000)
    while (select count(*from sysobjects where type='U')>0
    begin
    SELECT @sql='drop table ' + name
    FROM sysobjects
    WHERE (type = 'U')
    ORDER BY 'drop table ' + name
    exec(@sql)
    end
  • 相关阅读:
    如何解决js跨域问题
    前端开发群推荐:鬼懿IT
    Highcharts中文API详解
    搜索弹层交互
    js中判断Object、Array、Function等引用类型对象是否相等的方法
    各种之父
    UNIX简介
    MATLAB二维正态分布图
    Albert Einstein says
    GNU简介
  • 原文地址:https://www.cnblogs.com/dodui/p/1826843.html
Copyright © 2011-2022 走看看