[ CallMeSaMaster @ 08.02.2007. 21:35 ] @
Ako npr u nekoj StoredProcedure declariswm neku varijablu tipa nvarchar/varchar, kako mogu da joj pridruzim proizvoljni string?

Imam namjeru napravit jednu dinamicku storedP u koj koristim kursor. U ovom slucaju citam id iz baze i za svaki prolaz generisem upit.

Nesto tipa

Declare @string nvarchar i onda
@string=""
@string="select User from Users where id="+id
i onda nesto tipa
execute(@string)

Dali ovo moze i na koji nacin da to uradim?
[ DarkMan @ 08.02.2007. 22:46 ] @
Krenuo si u dobrom smeru. Ja obicno uzimam cist varchar. Jedina problem na koji mozes naleteti da ne mozes napraviti query veci od 8000 karaktera jer varchar (i nvarchar) mogu da se deklarisu sa max. 8000 karaktera (mozda postoji i neko resenje ali ja ne znam).
Ne koriste se " navodnici vec ' single quote
Code:

  declare @query varchar(8000), @id int

  set @query = 'select * from proba'
  set @query = @query + ' where id = ' + ltrim(@id)  -- ili convert(varchar, @id)

  exec(@query)

[ vukimama @ 15.02.2007. 23:33 ] @
Hvala! Morala sam da se javim da kazem da ovaj stos nisam nigde videla.
Reci mi otkud znas to?
Koji je izvor?
Da li moram kupiti knjigu, jer do sad sam ucila iy tutoriala i sa foruma i bilo mi je dovoljno.

hvala
[ CallMeSaMaster @ 16.02.2007. 12:34 ] @
Ne znam za koga je ovo tvoje pitanje.A ako je za mene onda ja ovaj fazon najcesce korsitim kad pravim dinamički upit.Na kraju to sve sastavim i execute.
Veoma dobar nacin u odnosu na staticke upite, nravno gdje treba. Staticki upiti su ipak dovoljni.
[ DarkMan @ 16.02.2007. 14:13 ] @
Eto sada znas da i to moze pa upotrebi gde ti je zgodno.
Stvarno se ne secam ni kada sam prvi put video dinamicki query niti gde sam ga video.
Ovu mogucnost komande EXECUTE imas opisanu u "SQL Server Books Online" dokumentaciji (koja ide uz instalaciju SQL servera).
[ CallMeSaMaster @ 16.02.2007. 20:15 ] @
@DarkMan

Ovaj sql upit(dinamicki) ti rijesava mnoge probleme. Ja ga koristim u jednoj web aplikaciji gdje korisnici popunjavaju odredjena pitanja. Onda od toga pravim neke statistike.Medjutim Aplikacija dozvoljava i postavljanej vlastitih pitanja.Kako ne bih morao da vodim evidenciju ko je kad i gdje dodao pitanje, napravio sam ovaj dinamicku upit u kojem se koristi FETCH i sve probleme rijesis. Inace bi svaki put morao mijenjati taj upit pogotovo sto imam dosta JOIN-ova. Ovako se nista ne brinem, jednostavno radi. Ako ti treba primjer mogu ti poslati.