Prikaz jedne poruke
Stara 11.6.2010, 13:31   #5
catwoman
Član
 
Član od: 28.10.2008.
Poruke: 42
Zahvalnice: 4
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: SQL - Sistemski podaci o tabelama

Citat:
irreal kaže: Pregled poruke
NE, NE, NE i OH GOD NE !

omg, toliko je losa praksa sve to sto si naveo, NIKAKO to ne raditi.

pravilan nacin je da izvuces iz tabela koje opisuju sve tabele i polja.

u svakoj bazi je drugacije, znam da je u MS SQL Serveru (ali 2008, ne znam za 2000, al sigurno je bar slicno, ako ne isto)

Select CHARACTER_MAXIMUM_LENGTH from <imeGlavneSeme>.INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'ime_tabele' and COLUMN_NAME = 'ime_kolone'

mozes i umesto select CHARACTER_MAXIMUM_LENGTH da stavis select *, pa vidi sta sve ima od informacija o svakom polju, mozda ti je jos nesto koristan podatak
Hvala jos jednom resila sam uz Vasu pomoc na sledeci nacin:

SELECT TOP 100 PERCENT i_s.TABLE_NAME AS ImeTabele, i_s.COLUMN_NAME AS ImeKolone, s.[value] AS Opis, i_s.DATA_TYPE AS TipPodatka, i_s.*, s.*,
CHARACTER_MAXIMUM_LENGTH AS DuzinaPolja
FROM INFORMATION_SCHEMA.COLUMNS i_s LEFT OUTER JOIN
dbo.sysproperties s ON s.id = OBJECT_ID(i_s.TABLE_SCHEMA + '.' + i_s.TABLE_NAME) AND s.smallid = i_s.ORDINAL_POSITION AND
s.name = 'MS_Description'
WHERE (OBJECTPROPERTY(OBJECT_ID(i_s.TABLE_SCHEMA + '.' + i_s.TABLE_NAME), 'IsMsShipped') = 0)
ORDER BY i_s.TABLE_NAME, i_s.ORDINAL_POSITION
Samo sada vidim da za int i smalldatetime ne vidim duzinu polja,kako to da prevazidjemo?

Poslednja ispravka: catwoman (11.6.2010 u 13:49)
catwoman je offline   Odgovor sa citatom ove poruke