Bagaimana cara membuat tabel SQL di bawah skema yang berbeda?

137

Ini dari SQL Server 2008, ssms

Ketika saya membuat tabel, itu membuat di bawah dbo.

Saya ingin membuatnya di bawah skema yang berbeda, tetapi ketika saya menggunakan dialog 'Tabel Baru', saya tidak pernah dapat menemukan bidang tempat untuk menentukan ini.

Mat
sumber

Jawaban:

242
  1. Klik kanan pada node tables dan pilih New Table...
  2. Dengan desainer tabel terbuka, buka jendela properti (lihat -> Jendela Properti).
  3. Anda bisa mengubah skema tempat tabel akan dibuat dengan memilih skema di jendela properti.
adrianbank
sumber
Bagaimana Anda melakukannya secara terprogram. yaitu Buat Tabel SUSER_SNAME (). [MyTableName] tetapi itu benar-benar berfungsi. Juga, apakah itu cara yang adil untuk menyimpan variabel global sementara untuk memungkinkan berbagai aplikasi saling berbicara?
Adamantish
Ok terima kasih tapi maksud saya memiliki nama skema sebagai variabel sesuai dengan pengguna yang menjalankannya. Melakukannya dengan sedikit SQL dinamis tetapi kemudian menemukan cara yang lebih baik untuk meletakkan vars ini dalam sebuah tabel di mesin pengguna.
Adamantish
1
@adrianbanks, Anda dengan baik hati mengarahkan mereka ke arah yang benar, Pak!
Shaun F
Terima kasih @adrianbanks. Tidak melakukan ini untuk sementara waktu dan berada di ambang penulisan naskah buat!
Karl Gjertsen
50

Coba jalankan CREATE TABLE [schemaname].[tableName]; GO;

Ini mengasumsikan schemaname ada di database Anda. Silakan gunakan CREATE SCHEMA [schemaname]jika Anda perlu membuat skema juga.

EDIT: diperbarui untuk mencatat SQL Server 11.03 yang memerlukan ini menjadi satu-satunya pernyataan dalam batch.

Shaun F
sumber
1
Ya, saya sadar saya bisa melakukan itu, saya hanya ingin tahu apakah versi dialog memiliki opsi untuk melakukan ini.
Matt
Saya mencoba yang sama, itu tidak berhasil, Apakah saya melakukan sesuatu yang salah? ATAU itu hanya berfungsi di MSSQL 2012?
Pankaj Parkar
7
@PankajParkar: Ini tidak akan berfungsi jika skema tidak ada. Buat skema pertama menggunakan create schema [schema_Name]diikuti oleh permintaan di atas.
Sangram Nandkhile
14

                           membuat skema database di SQL Server 2008
1. Navigasikan ke Keamanan> Skema
2. Klik kanan pada Skema dan pilih Skema Baru
3. Lengkapi detail di tab Umum untuk skema baru. Seperti, nama skema adalah "MySchema" dan pemilik skema adalah "Admin".
4. Tambahkan pengguna ke skema seperti yang diperlukan dan atur izinnya:
5. Tambahkan properti apa pun yang diperluas (melalui tab Properti yang Diperluas)
6. Klik OK.
                          Menambahkan Tabel ke Skema Baru "MySchema"
1. Dalam Object Explorer, klik kanan pada nama tabel dan pilih "Desain":
2. Mengubah skema database untuk tabel di SQL Server Management Studio
3. Dari tampilan Desain, tekan F4 untuk tampilkan jendela Properties.
4. Dari jendela Properties, ubah skema ke skema yang diinginkan:
5. Tutup Design View dengan mengklik kanan tab dan pilih "Tutup":
6. Closing Design View
7. Klik "OK" ketika diminta untuk menyimpan
8. Tabel Anda sekarang telah ditransfer ke skema "MySchema".

Refresh tampilan Browser Obyek Untuk mengkonfirmasi perubahan
Selesai

Aftab Uddin
sumber
Sangat berguna proses pembuatan DB Schema sebelumnya. Terima kasih.
mggSoft
12

Tekan F4 dan Anda akan mendapatkan apa yang Anda cari.

peta
sumber
5

Jawaban Shaun F tidak akan berfungsi jika Skema tidak ada di DB. Jika ada yang mencari cara untuk membuat skema maka cukup jalankan skrip berikut untuk membuat skema.

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

Saat menambahkan tabel baru, masuk ke mode desain tabel dan tekan F4untuk membuka Jendela properti dan pilih skema dari dropdown. Defaultnya adalah dbo.

Anda juga dapat mengubah skema Tabel saat ini menggunakan jendela Properti.

Lihat:

masukkan deskripsi gambar di sini

Sangram Nandkhile
sumber
Dalam SQL Server 11.0.3+ ini akan menimbulkan kesalahan, CREATE SCHEMA harus menjadi satu-satunya operasi dalam batch. CREATE SCHEMA setup; GO
hajikelist
3

Ketika saya membuat tabel menggunakan SSMS 2008, saya melihat 3 panel:

  • Perancang kolom
  • Properti kolom
  • Properti tabel

Di panel properti tabel, ada bidang: Schemayang memungkinkan Anda memilih skema.

Brannon
sumber