Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kreiranje tabele sa nepoznatim brojem kolona

[es] :: MS SQL :: Kreiranje tabele sa nepoznatim brojem kolona

[ Pregleda: 2432 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Zdravo_djaci
Beograd

Član broj: 18921
Poruke: 113
*.vdial.verat.net.



Profil

icon Kreiranje tabele sa nepoznatim brojem kolona11.11.2007. u 09:34 - pre 200 meseci
Pozdrav.
Imam potrebu da kreiram malo komplikovaniji izvestaj.
Za kreiranje ovog izvestaja mi je potrebno da napravim (u uskladistenoj proceduri) temp tabelu u koju cu smestiti rezultate iz dinamickog upita i nakon toga izvrsiti jos neke obrade.

Problem je u tome sto u uskladistenoj proceduri moram da kreiram temp tabelu sa unapred nepoznatim brojem kolona.Broj kolona zavisi od parametara koje prosledjuje klijent.

Pokusao sam da kreiram string sa CREATE TABLE izrazom, ali ne postoji efekat kada se ovakav string izvrsi pomocu :

EXEC(@str)

Da li postoji nacin da se ovako nesto uradi u Transact SQL-u?

Koristim MSSQL2000.
Samo jeda i sekiracije!!!
 
Odgovor na temu

Zdravo_djaci
Beograd

Član broj: 18921
Poruke: 113
*.vdial.verat.net.



Profil

icon Re: Kreiranje tabele sa nepoznatim brojem kolona11.11.2007. u 10:07 - pre 200 meseci
Upravo sam provalio da se na ovaj nacin ne mogu kreirati temp tabele.
Obicne user tabele se mogu kreirati.
Samo jeda i sekiracije!!!
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
212.200.243.*



+104 Profil

icon Re: Kreiranje tabele sa nepoznatim brojem kolona12.11.2007. u 00:09 - pre 200 meseci
Kako ne može?

Code:

declare @Tmp nvarchar(max)
select @tmp = 'create table ##test (id int identity(1,1) not null, naziv nvarchar(300))'
exec (@tmp)    


samo zavisi za šta ti treba. Ukoliko tabela treba da bude vidljiva samo u okviru procedure onda koristiš jedan znak "#", a ako treba da bude vidljiva dok god je konekcija aktivna onda koristis "##".
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

priki

Član broj: 24732
Poruke: 700
*.amis.net.

ICQ: 174153511


+26 Profil

icon Re: Kreiranje tabele sa nepoznatim brojem kolona15.11.2007. u 07:11 - pre 200 meseci
možeš da kreiraš i promenjivu tipa tabela
recimo

Code:

declare @tbl table
(
sifra int,
naziv nvarchar(50)
)


i dalje je klasine

Code:

insert @tbl (sifra, naziv)
values(...,'...')


ili

Code:

insert @tbl (sifra, naziv)
select sifra, naziv
from tabela


zavisno od situacije
čak štaviše, help kaže:
'Use table variables instead of temporary tables, whenever possible. '
 
Odgovor na temu

Teks

Član broj: 153636
Poruke: 31
77.46.221.*



Profil

icon Re: Kreiranje tabele sa nepoznatim brojem kolona18.11.2007. u 23:07 - pre 200 meseci
Jel se možemo vratiti na promenljivu od korisnika

Ako promenljiva ima ograničen skup vrednosti
možda bi se mogla kreirati tabela koja bi pokrila
sve kombinacije parametra korisnika
 
Odgovor na temu

priki

Član broj: 24732
Poruke: 700
*.amis.net.

ICQ: 174153511


+26 Profil

icon Re: Kreiranje tabele sa nepoznatim brojem kolona23.11.2007. u 09:16 - pre 199 meseci
broj kolona je verovatno poznat u aplikaciji i toj nekoj promenjivoj

moraš proslediti taj broj kolona upitu u proceduri preko
promenjive varchar ili ceo upit i server ce ti odraditi posao

Code:

  cColumsNames = 'mika, pera, ceca, sveta, 5+6 zbir, null nista, '' prazno'
 
Odgovor na temu

[es] :: MS SQL :: Kreiranje tabele sa nepoznatim brojem kolona

[ Pregleda: 2432 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.