Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Az adatbázis-objektum nevét az azonosítónak nevezzük. Az SQL Server minden eleme rendelkezhet azonosítóval. A kiszolgálók, adatbázisok és adatbázis-objektumok, például táblák, nézetek, oszlopok, indexek, eseményindítók, eljárások, korlátozások és szabályok azonosítókkal rendelkezhetnek. Az azonosítók a legtöbb objektumhoz szükségesek, de egyes objektumok, például kényszerek esetében nem kötelezőek.
Az objektum definiálásakor létrejön egy objektumazonosító. Az azonosító ezután az objektumra való hivatkozásra szolgál. A következő utasítás például létrehoz egy táblát az azonosítóval TableX, valamint két oszlopot az azonosítókkal KeyCol és Descriptiona következőkkel:
CREATE TABLE TableX (
KeyCol INT PRIMARY KEY,
Description NVARCHAR(80)
);
Ez a tábla meg nem nevezett kényszert is tartalmaz. A PRIMARY KEY kényszer nem rendelkezik azonosítóval.
Az azonosító rendezése attól függ, hogy milyen szinten van definiálva. A példányszintű objektumok (például bejelentkezések és adatbázisnevek) azonosítói a példány alapértelmezett rendezéséhez vannak rendelve. Az adatbázis objektumazonosítói, például táblák, nézetek és oszlopnevek az adatbázis alapértelmezett rendezési eleméhez vannak rendelve. Például két olyan tábla hozható létre, amelyek neve csak a kis- és nagybetűs írásmód esetén különbözik, egy olyan adatbázisban, amelyben a rendezési sorrend megkülönbözteti a kis- és nagybetűket, de nem hozhatók létre olyan adatbázisban, amelynek a rendezési sorrendje nem különbözteti meg a kis- és nagybetűket.
Note
A változók neveinek, illetve a függvények és a tárolt eljárások paramétereinek meg kell felelniük Transact-SQL azonosítókra vonatkozó szabályoknak.
Azonosítóosztályok
Az azonosítóknak két osztálya van:
A rendszeres azonosítók megfelelnek az azonosítók formátumára vonatkozó szabályoknak. A rendszeres azonosítók nem lesznek elválasztva, ha Transact-SQL utasításokban használják őket.
USE AdventureWorks2022; GO SELECT * FROM HumanResources.Employee WHERE NationalIDNumber = 153479919;A tagolt azonosítók idézőjelek (
") vagy szögletes zárójelek ([és]) közé vannak zárva. Előfordulhat, hogy az azonosítók formátumára vonatkozó szabályoknak megfelelő azonosítók nem lesznek elválasztva. Például:USE AdventureWorks2022; GO SELECT * FROM [HumanResources].[Employee] --Delimiter is optional. WHERE [NationalIDNumber] = 153479919 --Delimiter is optional.
Az azonosítókra vonatkozó összes szabálynak nem megfelelő azonosítókat egy Transact-SQL utasításban kell elválasztani. Például:
USE AdventureWorks2022;
GO
--Identifier contains a space and uses a reserved keyword.
CREATE TABLE [SalesOrderDetail Table] (
[Order] INT NOT NULL,
[SalesOrderDetailID] INT IDENTITY(1, 1) NOT NULL,
[OrderQty] SMALLINT NOT NULL,
[ProductID] INT NOT NULL,
[UnitPrice] MONEY NOT NULL,
[UnitPriceDiscount] MONEY NOT NULL,
[ModifiedDate] DATETIME NOT NULL,
CONSTRAINT [PK_SalesOrderDetail_Order_SalesOrderDetailID] PRIMARY KEY CLUSTERED (
[Order] ASC,
[SalesOrderDetailID] ASC
)
);
GO
SELECT *
FROM [SalesOrderDetail Table] --Identifier contains a space and uses a reserved keyword.
WHERE [Order] = 10; --Identifier is a reserved keyword.
A normál és a tagolt azonosítóknak 1–128 karakterből kell lenniük. Helyi ideiglenes táblák esetén az azonosító legfeljebb 116 karakter hosszúságú lehet.
A normál azonosítókra vonatkozó szabályok
A változók, függvények és tárolt eljárások nevének meg kell felelnie Transact-SQL azonosítókra vonatkozó alábbi szabályoknak.
Az első karakternek a következő elemek egyikének kell lennie:
A Unicode Standard 3.2 által meghatározott betű. A betűk Unicode szerinti definíciója tartalmaz latin karaktereket az
aátz,AátZ, valamint más nyelvek betűkaraktereit is.Az aláhúzásjel (
_), az előjel (@) vagy a számjel (#).Bizonyos szimbólumok az azonosító elején speciális jelentéssel rendelkeznek az SQL Serverben. A helyszíni előjellel kezdődő rendszeres azonosítók mindig helyi változót vagy paramétert jelölnek, és nem használhatók más típusú objektumok neveként. A számjellel kezdődő azonosító egy ideiglenes táblát vagy eljárást jelöl. A kettős számjellel (
##) kezdődő azonosító globális ideiglenes objektumot jelöl. Bár a számjel vagy a kettős számjel karakter használható más típusú objektumok nevének megkezdéséhez, ezt a gyakorlatot nem javasoljuk.Egyes Transact-SQL függvények neve kettős előjelekkel (
@@) kezdődik. A függvényekkel való összetévesztés elkerülése érdekében ne használjon olyan neveket, amelyek a következővel@@kezdődnek: .
A következő karakterek a következő listát tartalmazhatják:
A Unicode Standard 3.2-ben meghatározott betűk.
Decimális számok egyszerű latin vagy más nemzeti szkriptekből.
A kezdőjel (
@), a dollárjel ($), a számjel (#) vagy az aláhúzásjel (_).
Az azonosító nem lehet Transact-SQL fenntartott szó. Az SQL Server a fenntartott szavak nagybetűs és kisbetűs verzióit is lefoglalja. Ha az azonosítókat Transact-SQL utasításokban használják, a szabályoknak nem megfelelő azonosítókat idézőjelekkel vagy szögletes zárójelekkel kell elválasztani. A fenntartott szavak az adatbázis kompatibilitási szintjétől függenek. Ez a szint az ALTER DATABASE kompatibilitási szint utasításával állítható be.
Beágyazott szóközök vagy speciális karakterek nem engedélyezettek.
A kiegészítő karakterek nem használhatók.
Ha az azonosítókat Transact-SQL utasításokban használják, a szabályoknak nem megfelelő azonosítókat idézőjelekkel vagy szögletes zárójelekkel kell elválasztani.
Note
A normál azonosítók formátumára vonatkozó néhány szabály az adatbázis kompatibilitási szintjétől függ. Ez a szint az ALTER DATABASE kompatibilitási szinttel állítható be.
Katalógus rendezése az Azure SQL Database-ben
Nem módosíthatja és nem állíthatja be a logikai kiszolgáló rendezést az Azure SQL Database-ben. Az egyes adatbázisok rendezési beállításait azonban külön konfigurálhatja az adatbázisban és a katalógusban lévő adatokhoz. A katalógus rendezése határozza meg a rendszer metaadatainak, például az objektumazonosítóknak a rendezést. Mindkét kolláció egymástól függetlenül adható meg, amikor létrehozod az adatbázist az Azure portálon, T-SQL-lel a CREATE DATABASEparancs segítségével, vagy PowerShell-lel a New-AzSqlDatabaseparancs segítségével.
További részletekért és példákért lásd: CREATE DATABASE. Adja meg az adatbázis (COLLATE) rendezési szabályait, valamint a rendszer metaadataihoz és objektumazonosítóihoz tartozó katalógus rendezési szabályait (CATALOG_COLLATION).
Katalógus rendezése az SQL Database-ben a Microsoft Fabricben
Nem módosíthatja vagy állíthatja be a logikai kiszolgáló rendezését a SQL adatbázisában a Fabricen belül.
Jelenleg a Fabric rendszerében lévő SQL-adatbázis alapértelmezett rendezése SQL_Latin1_General_CP1_CI_AS, és nem módosítható. Az egyes oszlopok kollációi támogatottak.
Kapcsolódó tartalom
- ALTER TABLE (Transact-SQL)
- ADATBÁZIS LÉTREHOZÁSA
- CREATE DEFAULT (Transact-SQL)
- LÉTREHOZÁSI ELJÁRÁS (Transact-SQL)
- CREATE RULE (Transact-SQL)
- CREATE TABLE (Transact-SQL)
- CREATE TRIGGER (Transact-SQL)
- NÉZET LÉTREHOZÁSA (Transact-SQL)
- DECLARE @local_variable (Transact-SQL)
- DELETE (Transact-SQL)
- INSERT (Transact-SQL)
- Fenntartott kulcsszavak (Transact-SQL)
- VÁLASZT (Transact-SQL)
- UPDATE (Transact-SQL)