Vytvoreni temp tabulky ze schematu existujici – MS SQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Vytvoreni temp tabulky ze schematu existujici – MS SQL – Fórum – Programujte.comVytvoreni temp tabulky ze schematu existujici – MS SQL – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
VladislavK0
Stálý člen
11. 2. 2013   #1
-
0
-

Ahoj 

Ptreboval bych vytvorit temp tabulku dle schematu existujici tabulky. Do teto temp tabulky prekopirovat cely obsah no a pak puvodni smazat a tuto temp prejmenovat dle puvodniho jmena a dalsi praci nad touto prejmenovanou  temp. A to cele pod SQLCMD.

Dostal jsem se az sem ale bouzel nevede se mi poskladat SQL string tak aby byl spravny. Chyba je zejmena ve velikosti typu.

 

DECLARE @colname sysname
declare @typname varchar(max)
declare @length varchar(max)
declare @precision varchar(max)
DECLARE @collist varchar(max)
SET @collist = 'create table tmp_MOJETABULKA '
DECLARE colCursor CURSOR FOR 
select a.name,t.name,t.length,t.prec
--,c.definition
from 
sys.all_columns a 
inner join sys.tables b on a.object_id = b.object_id
LEFT JOIN  systypes t on t.xtype = a.system_type_id
inner join sys.default_constraints c on a.default_object_id = c.object_id
where 
--t.status=0 and 
b.name='MOJETABULKA'

OPEN colCursor   
FETCH NEXT FROM colCursor INTO @colname,@typname,@length,@precision   
WHILE @@FETCH_STATUS = 0   
BEGIN   
       SET @collist = @collist + @colname+' ' +@typname+'('+@length+','+@precision+')'
       FETCH NEXT FROM colCursor INTO @colname,@typname,@length,@precision      
       IF @@FETCH_STATUS = 0 
   SET @collist = @collist + ','
END   
CLOSE colCursor   
DEALLOCATE colCursor 

PRINT @collist

--IF EXISTS(SELECT * FROM MOJETABULKA)
--    EXEC('INSERT INTO dbo.Tmp_MOJETABULKA (id, name)
  --    SELECT id, name FROM dbo.MOJETABULKA WITH (HOLDLOCK TA--BLOCKX)')
--GO
--DROP TABLE dbo.MOJETABULKA
--GO
--EXECUTE sp_rename N'dbo.Tmp_MOJETABULKA', N'MOJETABULKA', 'O--BJECT' 
--GO

a vysledek vypada takto

create table tmp_dochazka_typy nazev nvarchar(8000,4000),nazev sysname(256,128),zakazky bit(1,1),cas_od time(5,16),cas_do time(5,16),cas_interval time(5,16),terminal_order int(4,10),ciselnikPraceId int(4,10),autoPrichodOdchod bit(1,1)

primarne nejde o spravne zazavorkovani ale o hodnoty typu a default constraintu ktere take potrebuji doplnit

prosim a dekuji za kazdou radu - pomoc

Nahlásit jako SPAM
IP: 89.24.17.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
Reklama
Reklama
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý