Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: uzycie table dynamicznej w sp_executesql
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
nameless
chcialbum zrobic cos takiego
  1. declare @tmpTable TABLE(Id int, Name nvarchar(255))
  2. declare @query nvarchar(4000)
  3. SET @query='insert
  4. into @tmpTable values(1, ''tekst'')'
  5. exec sp_executesql @query

problem polega na tym ze procedura sp_executesql widzi @tmpTable jako zmienna pod ktora probuje podlozyc argument ktorego nie dostaje a nie jako zmienna typy table do ktorej ja chce cos wrzucic

ma ktos pomysl jak to rozwiazac?
nie chcialbym robic za kazdym razem create table i drop table
lub czyscic tabele
chcialbym zeby to byla tabela dynamiczna
radzaw
nie mozesz uzyc zmiennej @tmpTable wewnatrz zapytania wywolywanego procedura sp_executesql - zapytanie to nie ma pojecia o istnieniu tej zmiennej (inna widocznosc).

Rozwiazanie: tabele tymczasowe.
nameless
tymczasowa czyli co?
ja wiem o dwoch rodzjach
statyczna na stale w bazie
dynamiczna tworzona jako zmienna

a tymczasowe?
radzaw
tabela tymczasowa = istnieje tylko w danej sesji, po niej jest usuwana.

w kodzie tsql tworzysz taka tabele jak normalna (Create table...) tylko do nazwy dodajesz # (np. #MyTable) i mozesz na niej operowac jak na normalnej tabeli.

Po wiecej informacji odsylam do SQL Sever Books Online -> temporary tables.
nameless
wilkie dzieki
tego wlasnie mi brakowalo
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.