Kuros stabiņos ir atļautas NULL vērtības?

Pēdējā laikā sanāk padarboties ar dažādām DB lietām, kas ļauj izpausties bijušā pielietojuma administratora garam un rakstīt dažādus SQL skriptus.

Ja kādam ievajagās atrast kuros datubāzes tabulu stabiņos ir atļautas NULL vērtības, var noderēt šāds skripts:

SELECT 
    s.name + '.' + t.name AS 'Table', 
    c.name AS 'Column', 
    types.name AS 'Type'
FROM 
    sys.schemas s 
INNER JOIN sys.tables t 
    ON s.schema_id = t.schema_id
INNER JOIN sys.columns c 
    ON t.object_id = c.object_id
INNER JOIN sys.types types 
    ON c.system_type_id = types.system_type_id 
    AND c.user_type_id = types.user_type_id
WHERE
    c.is_nullable = 1
    AND s.name + '.' + t.name IN ('MySchema.MyTable')
ORDER BY 1

Tā kā man šobrīd rit maģistrantūras sesija, kuru cenšos savienot ar darbu, tad rakstīšanai neiznāk veltīt tik daudz laika cik gribētos. Bet nesatraucieties, nekur neesmu pazudis un netaisos pazust. Pacietību un gan jau drīzumā atkal dalīšos ar Jums savā pieredzē.

Published 08 January 2008 04:21 PM by ivars.arins
Filed under: ,

Comments

# mihails.golubevs said on 09 January, 2008 09:49 AM
Ivar, tas ir Old School... Daudz īsāks un informatīvāks analogs: select * from information_schema.columns where table_schema + '.' + table_name = 'Schema.Table'' AND is_nullable = 'NO' Vispār information_schema.* tabulas piedāvā visu bieži nepieciešamu informāciju par DB objektiem daudz uzskātāmākā veidā.
# Janis said on 09 November, 2011 05:16 PM

Mihails, information_schema.* skati bieži vien nesatur visu vajadzīgo informāciju. Reku viens labs raksts:

sqlblog.com/.../the-case-against-information-schema-views.aspx

Komentārs gan tāds novēlojies :) :)

Leave a Comment

(obligāts) 
(obligāts) 
(brīvizvēles)
(obligāts)