Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menambahkan Kolom Terhitung di Tabel SQL Server - Tutorial SQL Server / T-SQL Bagian 47

Skenario:

Anda bekerja sebagai Pengembang SQL Server untuk salah satu Firma Hukum. Anda telah membuat tabel dbo.Customer dengan menggunakan definisi di bawah ini

CREATE TABLE Customer (
    CustomerId INT Identity(1, 1)
    ,FirstName VARCHAR(50)
    ,LastName VARCHAR(50)
    ,Age SMALLINT
    ,PhoneNumber CHAR(9)
    ,DOB DATE
    ,Gender CHAR(1)
    )

Anda harus memiliki Nama Lengkap yang terdiri dari Nama Depan dan Nama Belakang. Anda tidak ingin menyimpan data duplikat ke dalam tabel dengan menambahkan kolom baru untuk Nama Lengkap. Apa pilihan Anda?

Tergantung Umur, Kami ingin Menambahkan Kolom Baru, panggil IsSenior dan tandai 1 jika di atas 65 lain 0.

Solusi:

SQL Server menyediakan Computed Column, yaitu kolom virtual dan tidak menyimpan data kecuali jika ditandai sebagai Bertahan. Artinya, kita dapat membuat kolom komputasi (Nama lengkap) yang akan menggunakan data Nama Depan dan Nama Belakang. Dengan membuat Computed Column kita tidak perlu lagi menyimpan data duplikat untuk kolom Full Name.

Mari kita buat Computed Columns Full Name dan IsSenior sesuai dengan kriteria kita.

CREATE TABLE Customer (
    CustomerId INT Identity(1, 1)
    ,FirstName VARCHAR(50)
    ,LastName VARCHAR(50)
    ,Age SMALLINT
    ,PhoneNumber CHAR(9)
    ,DOB DATE
    ,Gender CHAR(1)
    ,FullName AS FirstName + ' ' + LastName
    ,IsSenior AS CASE 
        WHEN Age > 65
            THEN 1
        ELSE 0
        END
    )
 Kami menggabungkan Nama Depan dan Nama Belakang untuk Nama Lengkap dan menulis Pernyataan Kasus untuk Kolom Komputer IsSenior. Mari kita lanjutkan dan masukkan beberapa record.

  insert into dbo.Customer(FirstName,LastName,Age)
    Values('Aamir','Shahzad',66),
    ('Raza','M',44)

Perhatikan bahwa saya belum memasukkan apa pun untuk Kolom Nama Lengkap dan IsSenior. Nilai untuk kolom ini akan dihitung ketika kita akan memilih data.

Cara menambahkan Kolom Terhitung di Tabel SQL Server - Tutorial T-SQL

Jika anda perlu menambahkan Kolom Terhitung ke Tabel keluar, anda dapat menggunakan sintaks di bawah ini

Alter Table SchemaName.TableName
Tambahkan ColumnName AS Logic( seperti FistName +''+LastName)

Katakanlah jika kita ingin tambahkan FullName Computer Column ke tabel Customer, kita bisa menggunakan script di bawah ini.

Alter table dbo.Customer
    Add FullName AS FirstName+' '+LastName
 
Lepaskan Kolom Terhitung dari Tabel SQL Server:
Sintaksis untuk drop Computed atau kolom normal adalah sama.

Alter Table SchemaName.TableName
drop Column ColumnName

Katakanlah jika kita ingin drop Nama lengkap dihitung kolom dari dbo.Customer Table. Kita bisa menggunakan script di bawah ini.

Alter table dbo.Customer
    drop column FullName


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Script untuk menyimpan data varbinary ke disk

  2. 3 Cara Mendapatkan Hari Pertama Bulan Ini di SQL Server

  3. Bagaimana FOR XML PATH('') bekerja saat menggabungkan baris

  4. Jenis teks SQL Server vs. tipe data varchar

  5. Transactionscope melempar pengecualian platform ini tidak mendukung transaksi terdistribusi saat membuka objek koneksi