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
Egy séma hatókörű objektum adatbázisobjektum-azonosító számát adja vissza.
A nem séma hatókörű objektumok, például a Data Definition Language (DDL) eseményindítói nem kérdezhetők le a használatával OBJECT_ID. A sys.objects katalógusnézetben nem található objektumok esetében a megfelelő katalógusnézet lekérdezésével szerezze be az objektumazonosítási számokat. Ha például egy DDL-eseményindító objektumazonosítási számát szeretné visszaadni, használja a következőt SELECT OBJECT_ID FROM sys.triggers WHERE name = 'DatabaseTriggerLog': .
Transact-SQL szintaxis konvenciók
Szemantika
OBJECT_ID ( ' [ database_name . [ schema_name ] . | schema_name . ]
object_name' [ , 'object_type' ] )
Érvek
N'object_name'
A használni kívánt objektum. object_namevarchar vagy nvarchar. A object_namevarchar értéke implicit módon nvarcharvá alakul. Az adatbázis- és sémanevek megadása nem kötelező.
N'object_type'
A séma hatókörű objektumtípusa. object_typevarchar vagy nvarchar. A object_typevarchar értéke implicit módon nvarchar lesz. Az objektumtípusok listáját a sys.objects (Transact-SQL)típusoszlopában találja.
Visszatérési típusok
int
Kivételek
Térbeli index OBJECT_ID esetén a visszaadott NULLérték.
Hibaértéket ad NULL vissza.
A felhasználó csak a felhasználó által birtokolt biztonságos adatok metaadatait tekintheti meg, vagy amelyekhez a felhasználó engedélyt kapott. Ez azt jelenti, hogy a metaadatkibocsátó, beépített függvények, például OBJECT_ID akkor térhetnek vissza NULL , ha a felhasználónak nincs engedélye az objektumra. További információ: Metaadatok láthatóságának konfigurációja.
Megjegyzések
Ha a rendszerfüggvény paramétere nem kötelező, a rendszer az aktuális adatbázist, gazdaszámítógépet, kiszolgálófelhasználót vagy adatbázis-felhasználót feltételezi. A beépített függvényeket mindig zárójelekkel kell követnie.
Ha ideiglenes táblanevet ad meg, az adatbázis nevének az ideiglenes tábla neve előtt kell lennie, kivéve, ha az aktuális adatbázis.tempdb Például:
SELECT OBJECT_ID('tempdb..#mytemptable');
A rendszerfüggvények használhatók a kijelölési listában, a WHERE záradékban és bárhol, ahol egy kifejezés engedélyezve van. További információ: Kifejezések (Transact-SQL) és WHERE (Transact-SQL).
Példák
A cikkben szereplő kódminták a AdventureWorks2025 vagy AdventureWorksDW2025 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.
Egy. Adott objektum objektumazonosítójának visszaadása
Az alábbi példa az adatbázis táblájának Production.WorkOrder objektumazonosítóját AdventureWorks2025 adja vissza.
USE master;
GO
SELECT OBJECT_ID(N'AdventureWorks2022.Production.WorkOrder') AS 'Object ID';
GO
B. Objektum meglétének ellenőrzése
Az alábbi példa egy adott tábla meglétét ellenőrzi annak ellenőrzésével, hogy a tábla rendelkezik-e objektumazonosítóval. Ha a tábla létezik, a rendszer törli. Ha a tábla nem létezik, az DROP TABLE utasítás nem lesz végrehajtva.
USE AdventureWorks2022;
GO
IF OBJECT_ID (N'dbo.AWBuildVersion', N'U') IS NOT NULL
DROP TABLE dbo.AWBuildVersion;
GO
C. Rendszerfüggvény-paraméter értékének megadása a OBJECT_ID használatával
Az alábbi példa az adatbázis táblájának összes indexére és partíciójára Person.Address vonatkozó információkat adja vissza a AdventureWorks2025sys.dm_db_index_operational_stats függvény használatával.
Megjegyzés:
Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.
Ha a Transact-SQL függvényeket DB_ID használja, és OBJECT_ID paraméterértéket ad vissza, mindig győződjön meg arról, hogy érvényes azonosítót ad vissza. Ha az adatbázis vagy az objektum neve nem található, például ha nem léteznek, vagy helytelenül vannak beírva, mindkét függvény visszaadja NULL. A sys.dm_db_index_operational_stats függvény helyettesítő karakterként értelmezi NULL az összes adatbázist vagy objektumot. Mivel ez a művelet nem szándékos lehet, az ebben a szakaszban szereplő példa bemutatja az adatbázis- és objektumazonosítók meghatározásának biztonságos módját.
DECLARE @db_id INT;
DECLARE @object_id INT;
SET @db_id = DB_ID(N'AdventureWorks2022');
SET @object_id = OBJECT_ID(N'AdventureWorks2022.Person.Address');
IF @db_id IS NULL
BEGIN
PRINT N'Invalid database';
END;
ELSE IF @object_id IS NULL
BEGIN
PRINT N'Invalid object';
END;
ELSE
BEGIN
SELECT *
FROM [sys].dm_db_index_operational_stats(@db_id, @object_id, NULL, NULL);
END;
GO
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
D. Adott objektum objektumazonosítójának visszaadása
Az alábbi példa az FactFinance adatbázis táblájának objektumazonosítóját adja vissza.
SELECT OBJECT_ID('AdventureWorksPDW2012.dbo.FactFinance') AS 'Object ID';