Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> uzycie table dynamicznej w sp_executesql
nameless
post 17.11.2005, 10:44:05
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 16.12.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


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

Ten post edytował nameless 17.11.2005, 10:44:45


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
radzaw
post 18.11.2005, 00:41:00
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 14.07.2003
Skąd: z epoki lodowcowej

Ostrzeżenie: (0%)
-----


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.


--------------------
Blog :: Development platform :
Windows 2003 Enterprise Server | Gentoo Linux
Go to the top of the page
+Quote Post
nameless
post 23.11.2005, 19:58:30
Post #3





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 16.12.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


tymczasowa czyli co?
ja wiem o dwoch rodzjach
statyczna na stale w bazie
dynamiczna tworzona jako zmienna

a tymczasowe?


--------------------
Go to the top of the page
+Quote Post
radzaw
post 24.11.2005, 12:06:58
Post #4





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 14.07.2003
Skąd: z epoki lodowcowej

Ostrzeżenie: (0%)
-----


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.


--------------------
Blog :: Development platform :
Windows 2003 Enterprise Server | Gentoo Linux
Go to the top of the page
+Quote Post
nameless
post 26.11.2005, 13:42:59
Post #5





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 16.12.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


wilkie dzieki
tego wlasnie mi brakowalo


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 12:50