amstyles
Goto Top

SQL Statement Abfrage Eigenschaft NOT NULL

Hallo Foren User,

ich möchte ein SQL Statement erstellen, welches mir wenn Möglich einen Boole Wert zurück liefert, bei dem ich abfragen kann, ob die ausgewählte Spalte die Eigenschaft NOT NULL hat, oder nicht.

Gibt es ein solches SQL Statement überhaupt?
Wenn nicht, gibt es in Visual Studio 2008 C# eine Funktion, die man benutzen kann?
Meine Laufzeit Umgebung ist .Net 3.5

LG,
AMStyles

Content-Key: 178018

Url: https://administrator.de/contentid/178018

Printed on: April 19, 2024 at 20:04 o'clock

Member: filippg
filippg Dec 22, 2011 at 12:56:15 (UTC)
Goto Top
Hallo,

unter Transact-SQL (MS SQL) würde ich IS NOT NULL verwenden.

Gruß

Filipp
Member: Ravers
Ravers Dec 22, 2011 at 13:05:56 (UTC)
Goto Top
Hi,

verstehe die Frage nicht ganz. Die Eigenschaften der Spalte ... ??

Ausgeben aller Zeilen dessen Spaltenwert nich null ist =
select * from TABELLE where SPALTE is not null

Aber ich denke du meinst was anderes, oder??

greetz
ravers
Member: AMStyles
AMStyles Dec 22, 2011 at 14:02:51 (UTC)
Goto Top
Hallo Ravers,

danke für deine Antwort.
Ja ich meine etwas anderes.
Wenn man unter SQL Server eine Tabelle mit Spalten anlegt, kann man mittels Checkbox auswählen, ob die Spalte
- Not Null
- Primary Key
- Foregin Key

sein soll.

Nun meine Frage.
Ist es Möglich diese "Einstellung" aus C# oder SQL heraus abzufragen?

LG,
AMStyles
Member: Biber
Biber Dec 22, 2011 at 14:45:08 (UTC)
Goto Top
Moin AMStyles,

mittels SQL kannst du z.B. über die VIEW sys.columns abfragen

- eine bestimmte Spalte einer bestimmten Tabelle-
SELECT is_nullable  
FROM    sys.columns  
WHERE   object_id = object_id('DeineTabelle')            
and name = 'DeineSpalte'   

-bzw für alle Spalten einer Tabelle-
SELECT name, is_nullable  
FROM    sys.columns  
WHERE   object_id = object_id('DeineTabelle')            

Grüße
Biber
Member: AMStyles
AMStyles Dec 22, 2011 at 15:18:06 (UTC)
Goto Top
Hallo Biber,

vielen Dank für deine schnelle Antwort.
Genau so etwas habe ich gesucht face-smile
Gibt es ähnliche Funktionen, um herauszufinden, ob der Primärschlüssel oder der Sekundärschlüssel gesetzt sind?

LG,
AMStyles
Member: Biber
Biber Dec 22, 2011 at 15:35:48 (UTC)
Goto Top
Moin AMStyles,

ja, es gibt für die bei Datenbank üblichen Metadaten-Abfragen auch bei M$ einen ganzen Sack voll "Katalogsichten".

Die drei, die du für eine Query bezüglich Tabellen und deren PK/Indexspalten brauchen könntest sind
  • sys.tables
  • sys.indexes
  • sys.index_columns

Als Einstieg würde ich den Blick auf Felder der sys.index_columns empfehlen.

Hint: Du kannst unmöglich der allererste in dieser Galaxie sein, der gerne derartige Abfragen abschicken möchte.
Möglicherweise haben andere schon ihre Lieblingsstatements im Netz öffentlich gemacht.

Grüße
Biber