Nach the sysobjects documentation kann einer dieser Objekttypen sein:Gibt es eine Tabelle, die die Auflistung von sysobjects.xtype-Beschreibungen enthält?
| xtype | Description |
|-------|---------------------------------------|
| AF | Aggregate function (CLR) |
| C | CHECK constraint |
| D | Default or DEFAULT constraint |
| F | FOREIGN KEY constraint |
| L | Log |
| FN | Scalar function |
| FS | Assembly (CLR) scalar-function |
| FT | Assembly (CLR) table-valued function |
| IF | In-lined table-function |
| IT | Internal table |
| P | Stored procedure |
| PC | Assembly (CLR) stored-procedure |
| PK | PRIMARY KEY constraint (type is K) |
| RF | Replication filter stored procedure |
| S | System table |
| SN | Synonym |
| SQ | Service queue |
| TA | Assembly (CLR) DML trigger |
| TF | Table function |
| TR | SQL DML Trigger |
| TT | Table type |
| U | User table |
| UQ | UNIQUE constraint (type is K) |
| V | View |
| X | Extended stored procedure |
und ich konnte ich eine Tabelle auf nur anschließen kann, dass xtype
Beschreibung Nachschlag diejenigen in eine CASE
Aussage, aber gibt es setzen? Ich weiß systypes
ist nicht diese Tabelle. Ich meine, ich habe nur eine Menge von ihnen auswendig gelernt, aber ich recherchiere gerade in einer Datenbank und es ist mir fremd (dh ich weiß nicht viel darüber) und deshalb würde ich gerne bauen dass die Beschreibung in dieser Abfrage ohne CASE
Aussage:
select object_name(c.id), c.name, [length], o.xtype from syscolumns c
join sysobjects o on o.id = c.id
where c.name like '%job%code%'
aktualisieren
Unten ist das Endergebnis nach der Antwort von SQLMenace. Ich fühlte, dass es notwendig ist, hier zu platzieren, weil es nicht einfach eine gerade Vorwärts join
ist.
select object_name(c.id), c.name, t.name, c.[length], o.xtype, x.name from syscolumns c
join sysobjects o on o.id = c.id
join systypes t on t.xtype = c.xtype
join master..spt_values x on x.name like '%' + o.xtype + '%' and x.type = 'O9T'
where c.name like '%job%code%'
order by c.xtype
Fantastische Antwort !! Ich habe meine Frage mit dem Endergebnis bearbeitet, weil der 'Join' ein wenig anders ist als die Norm, so dass jeder ein klares Bild davon bekommen konnte, wie ich mich ihm angeschlossen habe. –