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

Có thể sử dụng loại bảng do người dùng xác định bên trong một loại bảng do người dùng xác định khác trong sql không

Không, tại sao lại như vậy? Đó không phải là cách SQL Server (hoặc bất kỳ cơ sở dữ liệu quan hệ nào, cho vấn đề đó) hoạt động.

Từ trang của TechNet về Loại Bảng do Người dùng Xác định :

"Lồng" trong cơ sở dữ liệu quan hệ đạt được bằng cách sử dụng Khóa ngoại

Bạn thậm chí không thể tạo ràng buộc khóa ngoại giữa hai loại bảng do người dùng xác định.

Những gì bạn có thể làm là tạo hai loại bảng mà một trong số chúng có một cột để giữ id của loại còn lại, như sau:

CREATE TYPE A AS TABLE
(
    A_Id int
)

GO


CREATE TYPE B AS TABLE
(
    B_Id int,
    A_Id int -- "FK"
)
GO



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Máy chủ SQL bị thiếu chỉ mục

  2. Sử dụng PATINDEX để tìm các mẫu độ dài khác nhau trong T-SQL

  3. Tìm thủ tục đã lưu trữ chèn vào một bảng cụ thể

  4. Kết nối ứng dụng cốt lõi ASP.NET của bạn với phiên bản cục bộ của SQLServer

  5. Cách dễ nhất để xem trước dữ liệu từ cột hình ảnh là gì?