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
  • 相关阅读:
    第二周学习总结
    2019春总结作业
    第十二周作业
    第十一周作业
    第九周作业
    第八周作业
    第七周作业
    第六周作业
    第五周课程总结与报告
    Java第四周编程总结
  • 原文地址:https://www.cnblogs.com/dodui/p/1826843.html
Copyright © 2011-2022 走看看