[MSSQL] Printen tables

Pagina: 1
Acties:

  • didio
  • Registratie: Maart 2001
  • Laatst online: 01-04 09:19

didio

didio.nl

Topicstarter
Ik zou graag alle tabellen en views printen van een bepaalde database, geen idee of dit mogenlijk is, weet iemand at misschien?

weinig tot niks..


Verwijderd

Wat wil je precies? Alleen de namen? de definities? de inhoud?

  • didio
  • Registratie: Maart 2001
  • Laatst online: 01-04 09:19

didio

didio.nl

Topicstarter
Ik wil printen wat je zit als je design table doet, ik weet dat ik print screen kan doen en dan in een foto programma printen maar dat is zo omslachtig.

weinig tot niks..


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Open de enterprise editor es.
En bekijk de manual daarvan, die schema's kan je prima gewoon direct printen.

Verwijderd

didio schreef op 21 augustus 2002 @ 12:19:
Ik wil printen wat je zit als je design table doet, ik weet dat ik print screen kan doen en dan in een foto programma printen maar dat is zo omslachtig.
Grijnz das het lullige, dat is nl volgens mij de enige manier of je moet 'n duur tooltje zoals cast kopen (www.castsoftware.com)

  • didio
  • Registratie: Maart 2001
  • Laatst online: 01-04 09:19

didio

didio.nl

Topicstarter
Ik heb al lopen zoeken in books online, maar kan er niets over vinden, wat wel kan is copy en paste in word maar dat schiet niet echt op.

Zelfs in Visual Studio.NET kan ik geen tables printen, SP's lukken daar wel.

weinig tot niks..


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Printen sux idd vanuit dat design scherm, wat dat betreft lukt het met visio beter, ander alternatief is ff losse screenshots maken en in tekenproggie aan elkaar zetten.

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Oja je kan ook ff een 90 dagen trial downloaden op sybase, van programma datarchitect daar gaat het perfect in!

  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Tabellen printen, is mogelijk door in de Enterprise Manager een diagram aan te maken en vervolgens uit te printen.

Helaas kun je daar geen views in zetten. Wel kun je bijvoorbeeld een query loslaten op views en daarmee info ophalen, maar dat is vast niet wat je zoekt.

Never underestimate the power of


  • didio
  • Registratie: Maart 2001
  • Laatst online: 01-04 09:19

didio

didio.nl

Topicstarter
Ik heb het mar met screenshots gedaan, het waren gelukkig niet veel tabellen..
Stored Procedures zijn gelukkig makkelijker te printen.

weinig tot niks..


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

eventueel kan je ook een diagram maken via de EM (was Da Vinci tools niet het koosnaampje voor dit onderdeel :?) en daar de view uitgebreider zetten.

Today's subliminal thought is:


  • tijn
  • Registratie: Februari 2000
  • Laatst online: 31-07 00:06
Op zich kun je ook via queries op de systeemtabellen een overzicht van je tabellen en views krijgen.
We hebben hier een scriptje dat alle tabellen en indices van een bepaalde database ophoest in een redelijk leesbaar formaat (text output in de query analyzer). Ik zal mijn collega eens vragen of ik dat evt. hier kan posten.

Cuyahoga .NET website framework


  • tijn
  • Registratie: Februari 2000
  • Laatst online: 31-07 00:06
Dit is een gedeelte van de output van de Northwind database:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
TableName                 Fields                         Type         Precision       Length     Default Value   
------------------------- ------------------------------ ------------ --------------- ---------- --------------- 
                                                                                                 
Categories                CategoryID                     int identity         10               4 NULL
                          CategoryName                   nvarchar             15              30 NULL
                          Description                    ntext        1073741823      2147483646 NULL
                          Picture                        image        2147483647      2147483647 NULL
                                                                                                 
CustomerCustomerDemo      CustomerID                     nchar                 5              10 NULL
                          CustomerTypeID                 nchar                10              20 NULL
                                                                                                 
CustomerDemographics      CustomerTypeID                 nchar                10              20 NULL
                          CustomerDesc                   ntext        1073741823      2147483646 NULL
                                                                                                 
Customers                 CustomerID                     nchar                 5              10 NULL
                          CompanyName                    nvarchar             40              80 NULL
                          ContactName                    nvarchar             30              60 NULL
                          ContactTitle                   nvarchar             30              60 NULL
                          Address                        nvarchar             60             120 NULL
                          City                           nvarchar             15              30 NULL
                          Region                         nvarchar             15              30 NULL
                          PostalCode                     nvarchar             10              20 NULL
                          Country                        nvarchar             15              30 NULL
                          Phone                          nvarchar             24              48 NULL
                          Fax                            nvarchar             24              48 NULL

Cuyahoga .NET website framework


  • didio
  • Registratie: Maart 2001
  • Laatst online: 01-04 09:19

didio

didio.nl

Topicstarter
Dat ziet er best leuk uit, kan je dat script posten?

weinig tot niks..


  • tijn
  • Registratie: Februari 2000
  • Laatst online: 31-07 00:06
komtie:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
/**************************************************************************
ViewTables.sql

Author:         Gijs van Heuckelum
Date:           22-11-2001
Modified by:    Martijn Boland
Date:           21-08-2002

**************************************************************************/

SET NOCOUNT on /* Zet laatste regel met row(s) affected uit */

declare @objid       int
      , @Print     varchar(80)
      , @tablename   varchar(30)      
      , @CurTable    sysname
      , @LastTable   sysname
      , @testname    varchar(30)
      , @width       int
      , @Cnt         int
      , @Cnt2        int
      , @FileGroup   nvarchar(128)
      , @OrderNr     int
      , @Column      nvarchar(128) 
      , @Type        nvarchar(128) 
      , @Precisions  int
      , @Length      int
      , @ColumnDef   varchar(254)  

create table #TempTable       ( TABLE_QUALIFIER     sysname
                              , TABLE_OWNER         sysname
                              , TABLE_NAME          sysname
                              , TABLE_TYPE          varchar(32)
                              ,  REMARKS            varchar(254)
                              )
create table #TempColumns     ( TABLE_QUALIFIER   sysname 
                              , TABLE_OWNER       sysname 
                              , TABLE_NAME        sysname 
                              , COLUMN_NAME       sysname 
                              , DATA_TYPE         smallint  
                              , TYPE_NAME         varchar(13)
                              , PRECISIONS        int 
                              , LENGTH            int 
                              , SCALE             smallint  
                              , RADIX             smallint  
                              , NULLABLE          smallint  
                              , REMARKS           varchar(254)  
                              , COLUMN_DEF        varchar(254)  
                              , SQL_DATA_TYPE     smallint 
                              , SQL_DATETIME_SUB  smallint  
                              , CHAR_OCTET_LENGTH int 
                              , ORDINAL_POSITION  int 
                              , IS_NULLABLE       varchar(254)  
                              , SS_DATA_TYPE      tinyint 
                              )

  create table #OutTableTable ( TableName         nvarchar(128) 
                              , FieldName         nvarchar(128) NOT NULL
                              , Type              nvarchar(128) 
                              , Precisions        nvarchar(128) 
                              , Length            nvarchar(128)
                              , ColumnDef        nvarchar(128)
                              , OrderNr           int
                              )

print '                                                   TABLES '
print ' '

/* Vul de TEMP-TABLE met de inhoud van de stored procedure */
insert into #TempTable execute sp_tables @table_type = "'table'"

/* Definieer een query waar je door kunt stappen */
declare StapTableCursor cursor scroll for select TABLE_NAME from #TempTable
/* Open de query */
open StapTableCursor
/* Set de cursor op het eerste record */
  fetch next from StapTableCursor into @TableName
  
  WHILE @@FETCH_STATUS = 0
  begin
/* Maak de TEMP-TABLE leeg */
    delete from #TempColumns
/* Vul de TEMP-TABLE met de inhoud van de stored procedure */
    insert into #TempColumns execute sp_columns @table_name=@TableName
/* Maak ouput in de #OutTableTable */
    declare StapColumnCursor cursor
    for
    select  TABLE_NAME
          , substring(COLUMN_NAME,1,15) as 'COLUMN'
          , TYPE_NAME
          , PRECISIONS
          , LENGTH
          , COLUMN_DEF  
      from #TempColumns
    open StapColumnCursor
    set @LastTable = ''
    fetch next from StapColumnCursor into @CurTable
                                        , @Column    
                                        , @Type      
                                        , @Precisions
                                        , @Length
                                        , @ColumnDef

    WHILE @@FETCH_STATUS = 0
    begin
      set @Cnt2 = @Cnt2 + 1
      if @CurTable <> @LastTable 
      begin
        insert into #OutTableTable  ( TableName 
                                    , FieldName 
                                    , Type      
                                    , Precisions
                                    , Length
                                    , ColumnDef
                                    , OrderNr   
                                    )
           values ( ''
                  , ''
                  , ''
                  , ''
                  , ''
                  , ''
                  , @Cnt2   
                  )
      
      set @Cnt2 = @Cnt2 + 1

      insert into #OutTableTable  ( TableName 
                                    , FieldName 
                                    , Type      
                                    , Precisions
                                    , Length    
                                    , ColumnDef
                                    , OrderNr   
                                    )
           values ( @tablename
                  , @Column    
                  , @Type      
                  , STR(@Precisions)
                  , str(@Length)
                  , @ColumnDef
                  , @Cnt2   
                  )

       end
      
      else
      
      insert into #OutTableTable  ( TableName 
                                    , FieldName 
                                    , Type      
                                    , Precisions
                                    , Length 
                                    , ColumnDef
                                    , OrderNr   
                                    )
                values ( ''
                       , @Column    
                       , @Type      
                       , STR(@Precisions)
                       , str(@Length    )
                       , @ColumnDef
                       , @Cnt2   
                       )

      set @LastTable = @CurTable
      fetch next from StapColumnCursor into @CurTable
                                          , @Column    
                                          , @Type      
                                          , @Precisions
                                          , @Length    
                                          , @ColumnDef
    end    
    
    close StapColumnCursor
    
    deallocate StapColumnCursor

/* Haal volgende record */      
   fetch next from StapTableCursor into @TableName
  
end 

select substring(TableName ,1 , 25)  as [TableName]
      , substring(FieldName ,1 , 30)  as [Fields]  
      , substring(Type ,1 , 12)  as [Type]       
      , substring(Precisions ,1 , 15)  as [Precision] 
      , substring(Length ,1 , 10)  as [Length]     
      , substring(ColumnDef ,1 , 15)  as [Default Value]     

from #OutTableTable
order by OrderNr     
print ' '
print ' '

drop table #TempTable
drop table #TempColumns
drop table #OutTableTable


Alle credits zijn overigens voor de originele auteur (Gijs). Ik heb er alleen een hoop uitgesloopt :).

[ Voor 0% gewijzigd door tijn op 21-08-2002 15:24 . Reden: Layout ]

Cuyahoga .NET website framework


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Je heb er iets te veel uitgesloopt want cursor blijft openstaan.

  • tijn
  • Registratie: Februari 2000
  • Laatst online: 31-07 00:06
Ah, ok

Voor de regel die begint met 'select substring(TableName ,1 , 25) as [TableName]' moet nog even
code:
1
2
close StapTableCursor
deallocate StapTableCursor

komen.

Dat krijg je er van als je alleen maar ff test of er output verschijnt :) .

Cuyahoga .NET website framework

Pagina: 1