sql >> データベース >  >> RDS >> Sqlserver

SQL Server スキーマの名前を変更する

    スキーマに多数のオブジェクトがある場合は、このようなものを使用してすべての変更を自動的に生成できます (テーブルとビューのみを実行するため、実行する前に SP、UDF などに展開する必要がある場合があります)。 .)

    USE SandBox
    
    DECLARE @OldSchema AS varchar(255)
    DECLARE @NewSchema AS varchar(255)
    DECLARE @newLine AS varchar(2) = CHAR(13) + CHAR(10)
    
    SET @OldSchema = 'dbo'
    SET @NewSchema = 'StackOverflow'
    
    DECLARE @sql AS varchar(MAX)
    
    SET @sql = 'CREATE SCHEMA [' + @NewSchema + ']' + @newLine
    SELECT @sql = @sql + 'GO' + @newLine
    SELECT @sql = @sql + 'ALTER SCHEMA [' + @NewSchema + '] TRANSFER [' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']'
         + @newLine
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = @OldSchema
    
    SET @sql = @sql + 'DROP SCHEMA [' + @OldSchema + ']'
    
    PRINT @sql -- NOTE PRINT HAS AN 8000 byte limit - 8000 varchar/4000 nvarchar - see comments
    IF (0=1) EXEC (@sql)
    


    1. MySQLは他のDBMSと比較して大幅に多くのリソースを消費しますか?

    2. FKがBにある、Bに関連付けられた行がないAの行を検索しますか?

    3. EXTENSIONSを使用した空間データベースの作成中にエラーが発生しました

    4. PDOプリペアドステートメントを使用して複数の行を挿入します