30. november 2004 - 13:06Der er
13 kommentarer og 1 løsning
oprettelse af tabeller
Jeg har oprettet en database på følgende måde: create database test go create table table1 ( række1 char(9), række2 char(9) ) go create table table2 ( række1 int, række2 int ) go
Nu har jeg brug for via. T-SQL at kunne genskabe disse 2 tabeller i en anden database (test2). Hvis jeg kigger i syscolumns, så kan jeg se de 4 rækker samt datatype, men jeg kan ikke se i hvilke tabeller de hører hjemme. Det jeg har brug for er at kunne oprette nøjagtig de samme tabeller med de samme datatyper i en ny database.. Håber der er nogen der kan hjælpe ...
Tak for hjælpen indtil videre.. Jeg kender godt til select from sysobjects, og arne, har svaret mig på et sprøgsmål for et par dage siden, angående scripting af databasen. Problemet er at jeg ikke kan scripte min database ud, da den går ned af det, og den går desuden ned af alt hvad der har med et gui at gøre... så det jeg har brug for er når jeg eks laver en select name from sysobjects where xtype = 'U', og jeg får at vide at jeg har en table der hedder table 1, hvordna jeg så kan finde ud af hvilke rækker den indeholder samt datatypen (de informationer der står i syscolumns
Hvis du godt kan hente fra sys tabellerne, kan du skrive:
SELECT sysobjects.name AS 'tablename', syscolumns.name AS 'columnname' FROM syscolumns INNER JOIN sysobjects ON syscolumns.id = sysobjects.id WHERE sysobjects.xtype = 'U'
Til aaberg80: Mange tak for hjælpen. Det var lige præcis hvad jeg skulle bruge :-) så steg humøret en tand.. Så mangler jeg bare at finde ud af en let måde at "oversætte" xtype nummeret til datatypen (overrasket over jeg ikke kan finde det i bol). Du må meget gerne post et svar, så får du nogle points... Til Arne: Jeg kan godt køre em, og script funktionen som du lærte mig, fungere også fint , og det gør dts også, men kun med små databaser. Jeg har en db på 36 gb, med 22.000 tabeller og 4.000 views, og dette får den til at gå ned, hver gang når jeg forsøger at få dataen ud. Jeg er tilgængæld meget nysgerrig om dette er normalt at sql serveren ikke kan håndtere eksport af disse datamængder, eller om det er mit opsæt der er et eller andet med.. Jeg vil gerne bruge lejlighede til at sige tak for alle de gange du har hjulpet efterhånden har hjulpet mig, det har været uvurderligt..
Hvis du skriver nedenstående, får du også datatypen med.
SELECT sysobjects.name AS 'tablename', syscolumns.name AS 'columnname', systypes.name AS 'datatype' FROM syscolumns INNER JOIN sysobjects ON syscolumns.id = sysobjects.id INNER JOIN systypes ON syscolumns.xusertype = systypes.xusertype WHERE sysobjects.xtype = 'U'
Jeg vil lige indsparke en fodnote... Undgå at arbejde med systabels!! Brug hellere det som Microsoft har opfundet til formålet: Select * from information_schema.tables Select * from information_schema.columns
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.