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.
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. A legtöbb objektumhoz szükség van azonosítókra, de egyes objektumok, például a korlátozások nem kötelezőek.
Az objektum definiálásakor létre kell hoznia egy objektumazonosítót. Használja az azonosítót az objektumra való hivatkozáshoz. 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. Az elsődleges kulcsra vonatkozó korlátozás nem rendelkezik azonosítóval, ezért a rendszer által generált nevű címke, például PK__TableX__D7CB9CCCEEF0806C lenne hozzárendelve, amelyet megfigyelhet a rendszer metaadat-nézeteiben, mint például a sys.key_constraints.
A kényszerneveknek és más sémahatókörű objektumoknak egyedinek kell lenniük egy adatbázissémán belül. Például két elsődleges kulcskorlátozás nem oszthat meg nevet. Az oszlopneveknek azonban csak az egyes táblákban kell egyedinek lenniük, a sémán belül nem.
Az azonosítók sorrendbe állítása attól függ, hogy milyen szinten határozza meg.
- A példány alapértelmezett rendezése példányszintű objektumok azonosítóihoz, például bejelentkezésekhez és adatbázisnevekhez van rendelve.
- Az adatbázis alapértelmezett rendezése az adatbázis objektumazonosítóihoz, például táblákhoz, nézetekhez és oszlopnevekhez van rendelve. A kis- és nagybetűket megkülönböztető kollációval rendelkező adatbázisban létrehozhat például két táblát, amelyek neve csak a betűk kis- és nagybetűs formájában tér el, de a kis- és nagybetűt nem megkülönböztető kollációjú adatbázisban ezek nem hozhatók létre.
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 követnie kell ezeket a szabályokat Transact-SQL azonosítók esetében.
Az első karakternek a következő karakterek 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 Transact-SQL utasításokban használ azonosítókat, a szabályoknak nem megfelelő azonosítókat kettős idézőjelek vagy szögletes zárójelek használatával elválaszthatja. A fenntartott szavak az adatbázis kompatibilitási szintjétől függenek. Állítsa be az adatbázis kompatibilitási szintjét az ALTER DATABASE kompatibilitási szint utasításával.
Ne használjon beágyazott szóközöket vagy speciális karaktereket.
Ne használjon kiegészítő karaktereket.
Ha Transact-SQL utasításokban használ azonosítókat, a szabályoknak nem megfelelő azonosítókat kettős idézőjelek vagy szögletes zárójelek használatával elválaszthatja.
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.
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 rendezést egymástól függetlenül is megadhatja, amikor az adatbázist az Azure Portalon, a T-SQL-ben a CREATE DATABASE-lel vagy a PowerShellben a New-AzSqlDatabase-lel hozza létre.
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
Jelenleg a Fabricben egy SQL-adatbázis alapértelmezett sorrendje SQL_Latin1_General_CP1_CI_AS, de ez az üzembe helyezéskor módosítható. A rendezés nem frissíthető az üzembe helyezés után. Az egyes oszlopok kollációi támogatottak. Az üzembe helyezési lehetőségekről további információt az SQL-adatbázis létrehozása a Fabricben című témakörben talál.