• 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
  • 相关阅读:
    ioncube 加密软件 linux 使用方法
    PHP使用FPDF pdf添加水印中文乱码问题 pdf合并版本问题
    redis windows dll 下载
    浅析PHP7新功能及语法变化总结
    PHP二维数组去重
    extract 用法说明
    python基础之循环
    linux防火墙(五)—— 防火墙的规则备份与还原
    Haproxy搭建Web群集
    网站五层架构
  • 原文地址:https://www.cnblogs.com/dodui/p/1826843.html
Copyright © 2020-2023  润新知