Saya menggunakan SQL Server 2008 dan Navicat. Saya perlu mengganti nama kolom dalam tabel menggunakan SQL.
ALTER TABLE table_name RENAME COLUMN old_name to new_name;
Pernyataan ini tidak berfungsi.
sql
sql-server
sql-server-2008
alter-table
Serhio g. Lazin
sumber
sumber
Jawaban:
Menggunakan
sp_rename
Lihat: SQL SERVER - Cara Mengganti Nama Nama Kolom atau Nama Tabel
Dokumentasi: sp_rename (Transact-SQL)
Untuk kasus Anda adalah:
Ingatlah untuk menggunakan tanda kutip tunggal untuk melampirkan nilai Anda.
sumber
EXEC sp_RENAME '[TableName].[OldColumnName]', 'NewColumnName', 'COLUMN'
alter table
yang akan GAGAL jika kendala tersebut ada.Atau
SQL
, Anda dapat melakukan ini di Microsoft SQL Server Management Studio. Berikut adalah beberapa cara cepat menggunakan GUI:Jalan Pertama
Lambat klik dua kali pada kolom. Nama kolom akan menjadi kotak teks yang dapat diedit.
Jalan Kedua
Klik kanan pada kolom dan pilih Ubah nama dari menu konteks.
Sebagai contoh:
Jalan Ketiga
Cara ini lebih disukai ketika Anda perlu mengganti nama beberapa kolom sekaligus.
Sebagai contoh:
CATATAN: Saya tahu OP secara khusus meminta solusi SQL, berpikir ini mungkin membantu orang lain :)
sumber
Mencoba:
sumber
Anda juga harus menentukan skema tabel atau Anda mungkin mendapatkan kesalahan ini:
Jika ini adalah skrip penerapan, saya juga akan merekomendasikan untuk menambahkan beberapa keamanan tambahan.
sumber
Ini akan menjadi saran yang bagus untuk menggunakan fungsi yang sudah terpasang tetapi cara lain adalah:
Manfaat di balik penggunaannya
sp_rename
adalah bahwa ia menangani semua hubungan yang terkait dengannya.Dari dokumentasi :
sumber
Anda dapat menggunakan
sp_rename
untuk mengganti nama kolom.Parameter pertama adalah objek yang akan diubah, parameter kedua adalah nama baru yang akan diberikan kepada objek, dan parameter ketiga COLUMN menginformasikan server bahwa nama diubah adalah untuk
column
, dan juga dapat digunakan untuk mengganti namatables
,index
danalias data type
.sumber
Karena saya sering datang ke sini dan kemudian bertanya-tanya bagaimana cara menggunakan kurung, jawaban ini mungkin berguna bagi mereka yang seperti saya.
OldColumnName
tidak harus dalam[]
. Itu tidak akan bekerja.NewColumnName
ke dalam[]
, itu akan menghasilkan[[NewColumnName]]
.sumber
Sql Server management studio memiliki beberapa sistem yang ditetapkan Stored Procedures (SP).
Salah satunya digunakan untuk mengubah nama kolom. SP adalah sp_rename
Sintaks: sp_rename '[table_name] .old_column_name', 'new_column_name'
Untuk bantuan lebih lanjut lihat artikel ini: sp_rename oleh Microsoft Docs
Catatan: Pada pelaksanaan SP ini server sql akan memberi Anda pesan peringatan sebagai ' Perhatian: Mengubah bagian mana pun dari nama objek dapat memecahkan skrip dan prosedur tersimpan '. Ini sangat penting hanya jika Anda telah menulis sp Anda sendiri yang melibatkan kolom di tabel Anda akan berubah.
sumber
Versi @Taher yang ditingkatkan
sumber
Atau Anda bisa memperlambat klik dua kali pada kolom di SQL Management Studio dan mengganti namanya melalui ...
sumber
Jalankan Kueri:
sumber