Jadval nomini o'zgartirish
Jadvallar nomini o'zgartirish uchun "sp_rename" tizimining saqlangan protsedurasidan foydalaniladi. Masalan, usersdb ma'lumotlar bazasida Users jadvalini UserAccounts nomiga o'zgartirish:
bitta
2
|
USE usersdb;
EXEC sp_rename 'Users', 'UserAccounts';
|
40-Mavzu: Sql yordamida Jadvallar o‘chirish
Reja:
1. Bir yoki bir nechta jadval ta'riflar
2. DROP TABLE
3. Ruxsatlar
Bir yoki bir nechta jadval ta'riflarini va ushbu jadvallar uchun barcha ma'lumotlarni, indekslarni, triggerlarni, cheklovlarni va ruxsatlarni olib tashlaydi. O'chirilgan jadvalga havola qiladigan har qanday ko'rinish yoki saqlangan protsedura DROP VIEW yoki DROP PROCEDURE bayonoti yordamida aniq tushirilishi kerak . Jadvalga bog'liqlik haqida hisobotni sys.dm_sql_referencing_entities ko'rinishidan olishingiz mumkin .
Transact-SQL-dagi sintaksis belgilari
Sintaksis
syntaxsqlNusxalash
-- Syntax for SQL Server and Azure SQL Database
DROP TABLE [ IF EXISTS ] { database_name.schema_name.table_name | schema_name.table_name | table_name } [ ,...n ]
[ ; ]
syntaxsqlNusxalash
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
DROP TABLE { database_name.schema_name.table_name | schema_name.table_name | table_name }
[;]
Eslatma
SQL Server 2014 va undan oldingi versiyalar uchun Transact-SQL sintaksisi tavsifiga havolalar uchun oldingi versiyalar uchun hujjatlarga qarang .
Argumentlar
ma'lumotlar bazasi_nomi Jadval yaratilgan ma'lumotlar bazasi nomi .
Azure SQL maʼlumotlar bazasi uch qismli nom formatini qoʻllab-quvvatlaydi. dbname.[schema_name].object_name, agar dbname joriy maʼlumotlar bazasi yoki tempdb boʻlsa va object_name # bilan boshlanadi. Azure SQL ma'lumotlar bazasi to'rt qismli nomlarni qo'llab-quvvatlamaydi.
IF EXISST SQL Server uchun amal
qiladi (SQL Server 2016 (13.x); joriy versiyadan oldin ).
Jadvalni shartli ravishda o'chirish, agar u allaqachon mavjud bo'lsa.
schema_name
Jadval tegishli bo'lgan sxemaning nomi.
table_name O'chiriladigan
jadvalning nomi.
Izohlar
DROP TABLE iborasidan FOREIGN KEY cheklovi bilan havola qilingan jadvalni tushirish uchun foydalanilmaydi. Siz avval havola qiluvchi FOREIGN KEY cheklovini yoki havolalar jadvalini tashlab qo'yishingiz kerak. Agar havolalar jadvali ham, asosiy kalitni o'z ichiga olgan jadval ham bir xil DROP TABLE iborasi yordamida tushirilsa, havolalar jadvali birinchi bo'lib ro'yxatga olinishi kerak.
Har qanday ma'lumotlar bazasidan bir nechta jadvallarni o'chirish mumkin. Agar o'chirilayotgan jadval boshqa tushirilayotgan jadvalning asosiy kalitiga havola qilsa, tashqi kalitga ega havolalar jadvali ko'rsatilgan asosiy kalitni o'z ichiga olgan jadvaldan oldin ro'yxatda paydo bo'lishi kerak.
Jadval o'chirilganda, u bilan bog'liq bo'lgan qoidalar va standart sozlamalar bog'lanmagan va jadval bilan bog'liq har qanday cheklovlar yoki triggerlar avtomatik ravishda o'chiriladi. Jadval qayta yaratilgan bo'lsa, siz barcha qoidalar va standart sozlamalarni qayta bog'lashingiz, triggerlarni qayta yaratishingiz va kerakli cheklovlarni qo'shishingiz kerak bo'ladi.
Jadvaldagi barcha satrlarni DELETE tablename yoki TRUNCATE TABLE iboralari yordamida o‘chirsangiz, jadval o‘chirilguncha mavjud bo‘lib qoladi.
128 dan ortiq hajmdan foydalanadigan katta jadvallar va indekslar ikki bosqichda tushiriladi: mantiqiy va jismoniy. Mantiqiy bosqichda jadvalda qo'llaniladigan mavjud taqsimlash birliklari bo'shatish uchun belgilanadi va tranzaktsiya amalga oshirilgunga qadar qulflangan qoladi. Jismoniy bosqichda chiqarish uchun belgilangan IAM sahifalari jismonan partiyalarda olib tashlanadi.
FILESTREAM atributiga ega VARBINARY(MAX) ustunini o'z ichiga olgan jadvalni tashlab qo'yish fayl tizimida saqlangan hech qanday ma'lumotni olib tashlamaydi.
Muhim!
DROP TABLE va CREATE TABLE iboralarini bitta jadvalda bitta paketda ishga tushirish mumkin emas. Aks holda, kutilmagan xatolik yuz berishi mumkin.
Ruxsatlar
Ushbu jadval tegishli boʻlgan sxema boʻyicha ALTER ruxsati, ushbu jadvalda BOSHQARUV ruxsati yoki db_ddladmin sobit maʼlumotlar bazasi roliga aʼzo boʻlishni talab qiladi .
Agar ko'rsatma ro'yxatga olish kitobi jadvalini o'chirishni talab qilsa, ruxsat talab qilinadi ALTER LEDGER.
Misollar
A. Joriy ma'lumotlar bazasidan jadvalni o'chirish
Quyidagi misol jadvalni ProductVendor1, uning ma'lumotlarini va indekslarini joriy ma'lumotlar bazasidan olib tashlaydi.
SQLNusxalash
DROP TABLE ProductVendor1 ;
Do'stlaringiz bilan baham: |