Trong bài viết này, chúng tôi đề cập đến các cách khác nhau để loại bỏ tất cả các bảng khỏi cơ sở dữ liệu SQL Server.

Bạn đang xem : bảng thả sql tất cả

Bởi: | Cập nhật: 2021-04-02 | Nhận xét (4) | Liên quan: Thêm & gt; TSQL

Vấn đề

Bạn cần đưa tất cả các bảng người dùng vào cơ sở dữ liệu. Nó có lẽ là dễ dàng nhất
chỉ thả và tạo lại cơ sở dữ liệu nhưng bạn có thể có quyền trong
cơ sở dữ liệu nhưng không có quyền xóa và tạo lại cơ sở dữ liệu đó.

Giải pháp

Chúng ta sẽ xem xét ba cách để bỏ tất cả các bảng vào cơ sở dữ liệu.

  • Thả các bảng từ SQL Server Management Studio (SSMS)
  • Tự động tạo SQL để loại bỏ các ràng buộc và bảng theo phương pháp lập trình
  • Tự động tạo và thực thi SQL để loại bỏ các ràng buộc và bảng theo chương trình

Các phiên bản được sử dụng trong Mẹo này

  • Windows Server 2019 Tiêu chuẩn 10.0 & lt; X64 & gt;
  • SQL Server 2019 (RTM-CU8) Phiên bản dành cho nhà phát triển (64-bit)
  • SQL Server Management Studio 18.8

Yêu cầu quyền

ALTER TABLE và DROP TABLE yêu cầu người dùng phải có một trong những điều sau:

  • Quyền ALTER trên lược đồ của bảng
  • Quyền CONTROL trên bảng
  • Tư cách thành viên trong vai trò cơ sở dữ liệu cố định db_ddladmin

Cú pháp TSQL

DROP BẢNG {database_name.schema_name.table_name | schema_name.table_name | tên_bảng} [, ... n] [; ]

ALTER TABLE {database_name.schema_name.table_name | schema_name.table_name | table_name}

Cơ sở dữ liệu

Chúng tôi sẽ sử dụng cơ sở dữ liệu mẫu của BikeStores để làm ví dụ.

Thả bảng từ SQL Server Management Studio (SSMS)

Mở SQL Server Management Studio Object Explorer.

  1. Mở rộng trình đơn thả xuống Cơ sở dữ liệu
  2. Mở rộng cơ sở dữ liệu
  3. Mở rộng bảng
  4. Nhấp chuột phải vào tên bảng
  5. Xóa
  1. Được

Tại đây, chúng tôi thấy hành động không thành công.

  1. Nhấp vào siêu liên kết Tin nhắn

Thông báo lỗi “Không thể thả đối tượng ‘production.brands’
bởi vì nó được tham chiếu bởi một ràng buộc NGOẠI KHÓA. (Microsoft SQL Server, Lỗi:
3726) ”đang cho chúng ta biết lý do tại sao không thể bỏ bàn xuống. Trong trường hợp này, chúng tôi sẽ
cần phải bước qua việc loại bỏ các ràng buộc sau đó bỏ các bảng hoặc bước qua
bỏ từng bảng con và quay lại để bỏ từng bảng phụ huynh. Của nó
rõ ràng điều này sẽ rất nhanh chóng trở nên tẻ nhạt. Phương pháp này sẽ là dễ nhất
nếu chúng tôi chỉ có một vài bảng và không có ràng buộc.

Tự động tạo SQL để loại bỏ các ràng buộc và bảng
Có lập trình

Có cách nào tốt hơn không? Chúng ta có thể tạo động một tập lệnh để loại bỏ các ràng buộc không
và bảng? Có, chúng tôi có thể. Ví dụ này sẽ cho thấy cách tạo các tập lệnh sau đó
sao chép và dán chúng vào cửa sổ truy vấn để thực thi.

THẬN TRỌNG: Đảm bảo rằng bạn đang ở trong cơ sở dữ liệu chính xác mà bạn muốn xóa các bảng
và kiểm tra tập lệnh đã tạo để chắc chắn trước khi bạn thực thi. Nó sẽ là
rất dễ vô tình chạy điều này ở một nơi nào đó mà bạn không muốn.

- sử dụng cơ sở dữ liệu
SỬ DỤNG [BikeStores]
ĐI
 
- tạo sql để loại bỏ các ràng buộc
CHỌN 'BẢNG ALTER'
    + (OBJECT_SCHEMA_NAME (parent_object_id))
    + '.'
    + QUOTENAME (OBJECT_NAME (parent_object_id))
    + ''
    + 'DROP CONSTRAINT'
    + QUOTENAME (tên)
TỪ sys.foreign_keys
ĐẶT HÀNG BỞI OBJECT_SCHEMA_NAME (parent_object_id), OBJECT_NAME (parent_object_id);
ĐI
  1. Nhấp chuột phải vào góc của cửa sổ kết quả
  2. Sao chép
Xem Thêm  Tham chiếu từ khóa SQL - sửa đổi từ khóa trong sql

Dán khay nhớ tạm vào một cửa sổ truy vấn khác và thực thi để loại bỏ tất cả các ràng buộc.

- tạo sql để thả bảng
CHỌN 'DROP TABLE' + '[' + TABLE_SCHEMA + ']. [' + TABLE_NAME + ']'
FROM INFORMATION_SCHEMA.TABLES
ĐẶT HÀNG BẰNG TABLE_SCHEMA, TABLE_NAME 
  1. Nhấp chuột phải vào góc của cửa sổ kết quả
  2. Sao chép

Dán khay nhớ tạm vào một cửa sổ truy vấn khác và thực thi để thả tất cả các bảng.

Đây là T-SQL để tạo cả hai tập lệnh cùng một lúc.

- sử dụng cơ sở dữ liệu
SỬ DỤNG [BikeStores]
ĐI
 
- tạo sql để loại bỏ các ràng buộc
CHỌN 'BẢNG ALTER'
     + (OBJECT_SCHEMA_NAME (parent_object_id))
    + '.'
    + QUOTENAME (OBJECT_NAME (parent_object_id))
    + ''
    + 'DROP CONSTRAINT'
    + QUOTENAME (tên)
TỪ sys.foreign_keys
ĐẶT HÀNG BỞI OBJECT_SCHEMA_NAME (parent_object_id), OBJECT_NAME (parent_object_id);
ĐI
 
- tạo sql để thả bảng
CHỌN 'DROP TABLE' + '[' + TABLE_SCHEMA + ']. [' + TABLE_NAME + ']'
FROM INFORMATION_SCHEMA.TABLES
ĐẶT HÀNG BẰNG TABLE_SCHEMA, TABLE_NAME

Phương pháp này là tốt nhất nếu có các ràng buộc và hơn chỉ là một vài bảng.
Sẽ an toàn vì bạn có tập lệnh được tạo động để kiểm tra trước khi bạn
chạy nó.

Tự động tạo và thực thi SQL để loại bỏ các ràng buộc và bảng theo phương pháp lập trình

Chúng tôi có thể tạo và chạy các tập lệnh trong đó nếu chúng tôi muốn loại bỏ
sao chép và dán? Có, chúng tôi có thể làm điều đó một cách linh hoạt bằng cách tạo một biến lớn
đủ để chứa SQL đã tạo, điền biến bằng TABLE ALTER trong
một lô và DROP TABLE trong một lô khác, sau đó thực thi SQL được giữ trong các biến
với sp_executesql.

THẬN TRỌNG:
Hãy cẩn thận hơn ở đây rằng bạn đang ở trong cơ sở dữ liệu chính xác vì bạn sẽ không
có cơ hội kiểm tra đầu ra tập lệnh đã tạo trước khi nó được thực thi.

- sử dụng cơ sở dữ liệu
SỬ DỤNG [BikeStores]
ĐI
 
- bỏ các ràng buộc
DECLARE @DropConstraints NVARCHAR (max) = ''
SELECT @DropConstraints + = 'ALTER TABLE' + QUOTENAME (OBJECT_SCHEMA_NAME (parent_object_id)) + '.'
                        + QUOTENAME (OBJECT_NAME (parent_object_id)) + '' + 'DROP CONSTRAINT' + QUOTENAME (tên)
TỪ sys.foreign_keys
THỰC HIỆN sp_executesql @DropConstraints;
ĐI

Tiếp theo, chúng tôi sẽ làm điều gì đó tương tự để loại bỏ các bảng hiện có
không có nhiều ràng buộc.

- sử dụng cơ sở dữ liệu
SỬ DỤNG [BikeStores]
ĐI
 
- thả bảng
DECLARE @DropTables NVARCHAR (max) = ''
CHỌN @DropTables + = 'DROP TABLE' + QUOTENAME (TABLE_SCHEMA) + '.' + QUOTENAME (TABLE_NAME)
FROM INFORMATION_SCHEMA.TABLES
THỰC HIỆN sp_executesql @DropTables;
ĐI

Và đây là tập lệnh hoàn chỉnh để tạo và thực thi cả hai tập lệnh thả cùng nhau.

- sử dụng cơ sở dữ liệu
SỬ DỤNG [BikeStores]
ĐI
 
- bỏ các ràng buộc
DECLARE @DropConstraints NVARCHAR (max) = ''
SELECT @DropConstraints + = 'ALTER TABLE' + QUOTENAME (OBJECT_SCHEMA_NAME (parent_object_id)) + '.'
                        + QUOTENAME (OBJECT_NAME (parent_object_id)) + '' + 'DROP CONSTRAINT' + QUOTENAME (tên)
TỪ sys.foreign_keys
THỰC HIỆN sp_executesql @DropConstraints;
ĐI
 
- thả bảng
DECLARE @DropTables NVARCHAR (max) = ''
CHỌN @DropTables + = 'DROP TABLE' + QUOTENAME (TABLE_SCHEMA) + '.' + QUOTENAME (TABLE_NAME)
FROM INFORMATION_SCHEMA.TABLES
THỰC HIỆN sp_executesql @DropTables;
ĐI

Phương pháp này rủi ro hơn do tập lệnh tự động được thực thi nhưng
tốt nhất nếu bạn cần chạy nó nhiều lần.

Xem Thêm  Danh sách ngang đáp ứng trong HTML CSS (Ví dụ rất đơn giản) - cách tạo danh sách ngang trong css
Các bước tiếp theo

Sau đây là một số liên kết để biết thêm thông tin.

Giới thiệu về tác giả

Xem tất cả các mẹo của tôi
Joe Gavin đến từ Greater Boston. Anh ấy đã đảm nhiệm nhiều vai trò trong lĩnh vực CNTT và hiện là Quản trị viên cơ sở dữ liệu SQL Server.

Bài viết được cập nhật lần cuối: 2021-04-02


Xem thêm những thông tin liên quan đến chủ đề sql thả bảng tất cả

Transactions in SQL

  • Tác giả: Internet Services and Social Networks Tutorials from HowTech
  • Ngày đăng: 2013-05-31
  • Đánh giá: 4 ⭐ ( 3949 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Follow this tutorial to learn how to use Transactions in SQL and see how we can roll back to previous changes done in database.

    Don’t forget to check out our site http://howtech.tv/ for more free how-to videos!
    http://youtube.com/ithowtovids – our feed
    http://www.facebook.com/howtechtv – join us on facebook
    https://plus.google.com/103440382717658277879 – our group in Google+

    A transaction in SQL is basically the process of one or more changes being made in the database.
    In this tutorial we will learn the three basic controls of transactions in SQL which are COMMIT, ROLLBACK, and SAVEPOINT

    Step 1- Commit Command
    The Commit command is used to save the changes made in the database. To see its implementation, start by first beginning the transaction.
    Before starting any Transaction in SQL, we have to write the Begin Transaction statement. After that, write the actual action which is required, for example delete from the employee table, where the salary is greater than $2500.
    After that, write the Commit keyword which confirms that the query is logically correct and can be executed.
    The Query in this case would be:
    begin trandelete from EMP
    where SAL 2500
    commit

    Now when we run the query, a message appears below the Query Editor which shows the number of rows that have been affected by our query.

    Step 2- Effect of Commit Command
    After that, fetch all the records from the employee table and it can be seen that all the records which have a salary above $2500 have been deleted.

    Step 3- Save Points
    Now let’s examine the SAVE POINT command. To understand the concept, we will take an example of a departmental table.
    Start writing the query by beginning a transaction and then entering in the “Save Transaction” command followed by the transaction name.
    After that, let’s delete a record with the Department number as 10 and then again save the transaction. This time, define the save point as point2.
    With that done, delete another department, and save the transaction, defining it as point3.
    Actual Query would be like this:
    begin tran
    save tran point1

    delete from DEPT
    where DEPTNO=10
    save tran point2
    delete from DEPT
    where DEPTNO=20
    save tran point3
    After executing it, 2 rows would get affected.

    Step 4- Departments Deleted
    Now, see the department table to view the changes. For that, let’s fetch all the records from the table. It can be seen that department “10” and “20” has been deleted from the table.

    Step 5- Roll Back
    If we want to track back to the previous changes, we can use the save points created earlier along with the Rollback transaction command.
    The rollback transaction allows us to remove all the modifications made to the data, either from the start of the transaction or to a defined save point.
    For that, we will use the rollback transaction statement and define the save point after that. Over here, let’s roll back to point number 2.
    The Query would be:
    rollback tran point2
    select * from DEPT
    Once we execute the query, and fetch all the records from the table, it can be seen that the table now contains the data up till point number 2 in the query.

    And this is how we can use Transactions in SQL.

[Tự học SQL] Tạo bảng(table), Xoá bảng, After bảng trong SQL

  • Tác giả: cafedev.vn
  • Đánh giá: 4 ⭐ ( 3746 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài này cafedev chia sẻ cho ace về cách tạo bảng(table), xoá, after nó trong SQL.

Làm thế nào để tạo và thả bảng và mối quan hệ bằng cách sử dụng ngôn ngữ định nghĩa dữ liệu SQL (DDL) trong Microsoft Access

  • Tác giả: support.microsoft.com
  • Đánh giá: 3 ⭐ ( 8326 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mô tả cách tạo và thả bảng và mối quan hệ bằng cách sử dụng ngôn ngữ định nghĩa dữ liệu SQL (DDL) trong Microsoft Access.

Tất tần tật về SQL – SQL là gì? Sử dụng như thế nào?

  • Tác giả: intech.vietnamworks.com
  • Đánh giá: 3 ⭐ ( 7423 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SQL là loại ngôn ngữ máy tính, giúp cho thao tác lưu trữ và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ. SQL là viết tắt của Structured Query Language là ngôn ngữ truy vấn có cấu trúc. Ứng dụng thực tế của SQL là gì? Cùng tìm hiểu nhé!

Trong SQL, làm thế nào để chọn tất cả các bản ghi từ bảng “Persons” trong đó giá trị của cột “FirstName” bắt đầu bằng “a”?

  • Tác giả: lop.edu.vn
  • Đánh giá: 5 ⭐ ( 7836 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong SQL, làm thế nào để chọn tất cả các bản ghi từ bảng “Persons” trong đó giá trị của cột “FirstName” bắt đầu bằng “a”?

Làm cách nào để thả tất cả các bảng trong cơ sở dữ liệu SQL Server?

  • Tác giả: qastack.vn
  • Đánh giá: 4 ⭐ ( 6789 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Nó cũng không hoạt động với tôi khi có nhiều bảng khóa ngoại. Tôi thấy mã…

SQL Server: Câu lệnh SQL hiển thị các bảng

  • Tác giả: timoday.edu.vn
  • Đánh giá: 5 ⭐ ( 7222 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn cách viết câu lệnh hiển thị tất cả các bảng (Table) hoặc View trong cơ sở dữ liệu (Database) của hệ quản trị cơ sở dữ liệu SQL Server 2000, 2005 hoặc mới hơn

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Cách thay đổi màu liên kết bằng CSS - màu văn bản siêu liên kết html

By ads_php