[ Zdravo_djaci @ 24.03.2009. 12:43 ] @
Pozdrav ljudi.
Interesuje me da li je moguce da se tabelarni rezultat iz neke procedure smesti u neku promenljivu (tabelarnu).
U pitanju je sistemska procedura sp_MShelpcolumns koja vraca SELECT sa spiskom kolona za prosledjeni parametar, odnosno
prosledjenu tabelu.

Ovo mi treba za automatsko generisanje T-SQL skripta za kreiranje odredjene tabele ( create tabel ... ), za sinhronizaciju baza podataka.
[ Fedya @ 24.03.2009. 12:58 ] @
insert into <imeTablele> execute <imeProcedure> <parametri>
[ Zdravo_djaci @ 24.03.2009. 13:06 ] @
Ne prolazi ovo. Kaze da execute ne moze da bude source za insert u tabelu.

Moslim da cu morati da pravim sam skripte za seme.
[ Fedya @ 24.03.2009. 13:31 ] @
Daj kod, mora da radi :)

Upravo izvrsio:

Code:

create table #sp_who (
  spid    smallint,
  ecid    smallint,
  status nchar(30),
  loginame    nchar(128),
  hostname    nchar(128),
  blk    char(5),
  dbname nchar(128),
  cmd    nchar(16),
  reqId smallint)
insert into #sp_who execute sp_who
select * from #sp_who
drop table #sp_who


radi bez problema
[ Zidar @ 24.03.2009. 15:06 ] @
A mozda bi bilo lakse da koristis system views, ako tvoja verzija MS SQL to podrzava. Na primer

SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'MyTable'

daje isto sto i

EXEC sp_MShelpcolumns 'MyTable'


Ako bas moras iz stored procedure da radis INSERT u tabelu, ond atabela mora da bude kreirana unapred, sa svim kolonama koje izbacuje stored procedura. Znaci, ono sto ti je Fedya rekao, ali uz napomenu da PRVO treba da kreiras tabelu. Ovako nekako, moras da nabrojis sve kolone koje vraca procedura i da pogodis tip i velicnu.:


CREATE TABLE #MShelpcolumns ---- moze temp tabela, moze permanentna
(col_name varchar(255)
, col_id int
, col_typename
.....

)

Onda uradis ovo:

INSERT #MShelpcolumns EXEC EXEC sp_MShelpcolumns 'MyTable'


No, brze je i ejdnostavnije is preko INFORMATION_SCHEMA.COLUMNS




[ Zdravo_djaci @ 24.03.2009. 15:20 ] @
To je to. Podrzava INFORMATION_SCHEMA.COLUMNS.
Hvala !
[ mmix @ 24.03.2009. 16:50 ] @
Kad smo vec kod INFORMATION_SCHEMA, to me podseti na nesto. kad je stigao upgrade na SQL2008 dobilkli smo warning da je INFORMATION_SCHEMA promenjena i da neki views nisu backward kompatibilni; medjutim svi moje INFORMATION_SHEMA skripte i dalje sljakaju i u dokumentaciji ne vidim da je ista drugacije izmedju 2005 i 2008 sem nekih marginalnih sitnica. Jel neko zna o kakvim breaking promenama se radi...