Làm cách nào để tạo bảng SQL theo một lược đồ khác?


137

Đây là từ SQL Server 2008, ssms

Khi tôi tạo một bảng, nó tạo dưới dbo.

Tôi muốn tạo nó theo một lược đồ khác, nhưng khi tôi sử dụng hộp thoại 'Bảng mới', tôi không bao giờ có thể tìm thấy trường để chỉ định cái này.

Câu trả lời:


242
  1. Nhấp chuột phải vào nút bảng và chọn New Table...
  2. Với trình thiết kế bảng mở, mở cửa sổ thuộc tính (xem -> Cửa sổ thuộc tính).
  3. Bạn có thể thay đổi lược đồ mà bảng sẽ được tạo bằng cách chọn một lược đồ trong cửa sổ thuộc tính.

Làm thế nào bạn sẽ làm điều đó lập trình. tức là Tạo Bảng SUSER_SNAME (). [MyTableName] nhưng điều đó thực sự hoạt động. Ngoài ra, đó có phải là một cách công bằng để lưu trữ các biến toàn cầu tạm thời để cho phép các ứng dụng khác nhau nói chuyện với nhau không?
Adamantish

Ok cảm ơn nhưng tôi có nghĩa là có tên lược đồ như một biến theo người dùng đang chạy nó. Đã làm điều đó với một chút SQL động nhưng sau đó tìm thấy một cách tốt hơn để đặt các vars này vào một bảng trên máy của người dùng.
Adamantish

1
@adrianbanks rất tốt bụng của bạn để chỉ cho họ đi đúng hướng thưa ông!
Shaun F

Cảm ơn @adrianbanks. Đã không làm điều này trong một thời gian và đang trên đà viết một kịch bản tạo!
Karl Gjertsen

50

Hãy thử chạy CREATE TABLE [schemaname].[tableName]; GO;

Điều này giả định schemaname tồn tại trong cơ sở dữ liệu của bạn. Vui lòng sử dụng CREATE SCHEMA [schemaname]nếu bạn cần tạo một lược đồ là tốt.

EDIT: được cập nhật để lưu ý SQL Server 11.03 yêu cầu đây là câu lệnh duy nhất trong lô.


1
Vâng, tôi nhận ra tôi có thể làm điều đó, tôi chỉ tự hỏi liệu phiên bản hộp thoại có một tùy chọn ở đâu đó để làm điều này.
Matt

Tôi đã cố gắng như vậy, nó không hoạt động, tôi đang làm gì sai? HOẶC nó chỉ hoạt động trong MSSQL 2012?
Pankaj Parkar

7
@PankajParkar: Điều này sẽ không hoạt động nếu lược đồ không tồn tại. Tạo lược đồ đầu tiên bằng cách sử dụng create schema [schema_Name]theo sau bởi truy vấn trên.
Sangram Nandkhile

14

                           tạo một lược đồ cơ sở dữ liệu trong SQL Server 2008
1. Điều hướng đến Bảo mật> Lược đồ
2. Nhấp chuột phải vào Lược đồ và chọn Lược đồ mới
3. Hoàn thành các chi tiết trong tab Chung cho lược đồ mới. Giống như, tên lược đồ là "MySchema" và chủ sở hữu lược đồ là "Quản trị viên".
4. Thêm người dùng vào lược đồ theo yêu cầu và đặt quyền của họ:
5. Thêm bất kỳ thuộc tính mở rộng nào (thông qua tab Thuộc tính mở rộng)
6. Nhấp OK.
                          Thêm Bảng vào Lược đồ mới "MySchema"
1. Trong Object Explorer, nhấp chuột phải vào tên bảng và chọn "Thiết kế":
2. Thay đổi lược đồ cơ sở dữ liệu cho một bảng trong SQL Server Management Studio
3. Từ dạng xem Thiết kế, nhấn F4 để hiển thị cửa sổ Thuộc tính.
4. Từ cửa sổ Thuộc tính, thay đổi lược đồ thành lược đồ mong muốn:
5. Đóng Chế độ xem Thiết kế bằng cách nhấp chuột phải vào tab và chọn "Đóng":
6. Đóng Chế độ xem Thiết kế
7. Nhấp vào "OK" khi được nhắc lưu
8. Bảng của bạn hiện đã được chuyển sang lược đồ "MySchema".

Làm mới giao diện Trình duyệt đối tượng Để xác nhận thay đổi
Xong


Rất hữu ích quá trình tạo Schema DB trước đó. Cảm ơn.
mggSoft

12

Nhấn F4 và bạn sẽ nhận được những gì bạn đang tìm kiếm.


5

Câu trả lời của Shaun F sẽ không hoạt động nếu Schema không tồn tại trong DB. Nếu bất cứ ai đang tìm cách tạo lược đồ thì chỉ cần thực thi đoạn script sau để tạo lược đồ.

create schema [schema_name]
CREATE TABLE [schema_name].[table_name](
 ...
) ON [PRIMARY]

Trong khi thêm bảng mới, hãy chuyển đến chế độ thiết kế bảng và nhấn F4để mở cửa sổ thuộc tính và chọn lược đồ từ danh sách thả xuống. Mặc định là dbo.

Bạn cũng có thể thay đổi lược đồ của Bảng hiện tại bằng cửa sổ Thuộc tính.

Tham khảo:

nhập mô tả hình ảnh ở đây


Trong SQL Server 11.0.3+, điều này sẽ gây ra lỗi, CREATE SCHema phải là thao tác duy nhất trong lô. CREATE SCHEMA setup; GO
hajikelist

3

Khi tôi tạo bảng bằng SSMS 2008, tôi thấy 3 bảng:

  • Nhà thiết kế cột
  • Thuộc tính cột
  • Các thuộc tính bảng

Trong ngăn thuộc tính bảng, có một trường: Schemacho phép bạn chọn lược đồ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.