![]() |
Datenbank: SQL Server • Version: XX • Zugriff über: XX
SQL FROM ObjectID
Hey hoy,
ganz kurz. Mir ist die Object ID bekannt und der Name der Tabelle * from sys.object where typ u. Kann ich auf diese tabellen nun irgendwie drauf zugreifen ? |
AW: SQL FROM ObjectID
Deine Frage liest sich irgendwie so:
Mir ist der Autotyp bekannt und die Farbe des Autos. Blau 30 km/h Kann ich jetzt irgendwie den Reifenhersteller herausfinden? |
AW: SQL FROM ObjectID
es gibt nur 10 arten von menschen !
die welche die frage verstehen und die die nicht. ! |
AW: SQL FROM ObjectID
Der klassische Weg wäre wohl:
Code:
Ohne Intimkenntnisse des SQL Servers lehne ich mich mal weit aus dem Fenster und behaupte, eine Objekt ID aus Systabellen wäre das allerletzte was ich zum Zugriff benutzen würde.
Select * from [Name der Tabelle]
Selbst wenn Du keinen Zugriff auf die Tabellendaten benötigst, sondern auf Dictionary Informationen, dann geht das über den Tabellennamen. Dazu gibt es aber offizielle Information SCHEMA Bereiche. |
AW: SQL FROM ObjectID
Code:
ist dieses Möglich, das ich den namen durch die ID ersetzen kann ?
Select * from [ Name der Tabelle] durch [Object ID]
|
AW: SQL FROM ObjectID
Erklär doch mal, was Du vorhast.
|
AW: SQL FROM ObjectID
Je nach System wäre es möglich, den Namen der Tabelle durch eine Funktion über die ID zu besorgen, das dann vorzuverarbeiten und am Ende ein "normales" Selectstatement zu bekommen/produzieren.
Mir ist nicht bekannt, dass SQL Engines Tabellen Objekte anhand einer ID erkennen und Statements nur über die Objekt ID entsprechend verarbeiten. (Obwohl sie das intern evtl. sogar selbst so machen.) |
AW: SQL FROM ObjectID
Keine Ahnung, ob ich das verstehe, was Du gefragt hast...
Aus der Objekt-ID kannst Du den Namen der Tabelle gewinnen und mit diesem wiederum ein SQL-Statement zusammensetzen. Ist es das was Du willst? Geht es darum. den Tabellennamen zu ermitteln? Edit: Den Namen kennst Du, also ist das nicht das Problem
Delphi-Quellcode:
Ob ein Join zwischen Systemtabelle und Usertabellen möglich ist, um das vorherige Ermitteln des Tabellennamens zu vermeiden, weiß ich nicht. es läst sich aber sicher leicht ausprobieren, ob ein Join zwischen System- und User-Tabelle funktioniert.
Format('SELECT * FROM %s' [tableName]);
Edit2: Auf diese Weise kann man das machen:
Code:
DECLARE @tab nvarchar(100);
SET @tab = (Select Top(1) Name from sysobjects where id=1275151588); EXEC('SELECT * FROM ' + @tab) |
AW: SQL FROM ObjectID
Zitat:
|
AW: SQL FROM ObjectID
Der Fragesteller arbeitet anscheinend an etwas sehr geheimnisvollem. Ohne Feedback ist es recht müßig, da weiter zu spekulieren.
Ohnehin scheint mir die Frage recht merkwürdig. Man könnte analog auch versuchen, ob man dyndns.org nicht auch per IP abfragen kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz