Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cập nhật đối chiếu của tất cả các trường trong cơ sở dữ liệu một cách nhanh chóng

Đề phòng bất kỳ ai nhìn vào điều này đang sử dụng SQL server 2008, tôi đã phải thực hiện một số sửa đổi:

SELECT 'ALTER TABLE [' + sys.objects.name + '] ALTER COLUMN ['
+ sys.columns.name + '] ' + sys.types.name + 
    CASE sys.types.name
    WHEN 'text' THEN ' '
    ELSE
    '(' + RTRIM(CASE sys.columns.max_length
    WHEN -1 THEN 'MAX'
    ELSE CONVERT(CHAR,sys.columns.max_length)
    END) + ') ' 
    END

    + ' ' + ' COLLATE Latin1_General_BIN ' + CASE sys.columns.is_nullable WHEN 0 THEN 'NOT NULL' ELSE 'NULL' END
    FROM sys.columns , sys.objects , sys.types
    WHERE sys.columns.object_id = sys.objects.object_id
    AND sys.objects.TYPE = 'U'
    AND sys.types.system_type_id = sys.columns.system_type_id
    AND sys.columns.collation_name IS NOT NULL
    AND NOT ( sys.objects.NAME LIKE 'sys%' )
    AND NOT ( sys.types.name LIKE 'sys%' )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự cố với câu lệnh SQL Server MERGE

  2. Truy vấn so sánh ngày tháng trong SQL

  3. Điều gì sẽ xảy ra khi tràn dấu thời gian (đảo ngược hàng)?

  4. gặp sự cố khi cố gắng khôi phục cơ sở dữ liệu được mã hóa

  5. SQL Server:Làm thế nào để gọi một chức năng do người dùng xác định (UDF) trên máy chủ được liên kết?