Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.162 pregleda

Najnovija ↓

Kreiranje tabele sa nepoznatim brojem kolona 11.11.2007. u 10:34 · pre 230 meseci #1
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.
Potpis
Samo jeda i sekiracije!!!
Re: Kreiranje tabele sa nepoznatim brojem kolona 12.11.2007. u 01:09 · pre 230 meseci #3
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 "##".
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Re: Kreiranje tabele sa nepoznatim brojem kolona 15.11.2007. u 08:11 · pre 230 meseci #4
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. '
Re: Kreiranje tabele sa nepoznatim brojem kolona 19.11.2007. u 00:07 · pre 230 meseci #5
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
Re: Kreiranje tabele sa nepoznatim brojem kolona 23.11.2007. u 10:16 · pre 230 meseci #6
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'
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme