ďťż
 
=?iso-8859-2?q?Nazwa_Tabeli_jako_parametr_w_procedurze_sk=B3a dowanej?= ďťż
 
=?iso-8859-2?q?Nazwa_Tabeli_jako_parametr_w_procedurze_sk=B3a dowanej?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

=?iso-8859-2?q?Nazwa_Tabeli_jako_parametr_w_procedurze_sk=B3a dowanej?=



_nabuchodonozor - 24-01-2007 00:02
=?iso-8859-2?q?Nazwa_Tabeli_jako_parametr_w_procedurze_sk=B3a dowanej?=
  Witam,

Napisalem nastepujaca procedure:

CREATE procedure WybierzTabele
@nazwa nvarchar(30)
as
select * from [@nazwa]

Procedura zostala zapamietana ale przy execu wyskakuje blad:
Server: Msg 208, Level 16, State 1, Procedure WybierzTabele, Line 4
Invalid object name '@nazwa'.

No i pytanie czy jest w ogole mozliwe przekazywanie nazwy tabeli do
parametru?? Prosze o wszelkie sugestie moze jest inny sposob niz
pisanie procedury??

Pozdro





Grzegorz Danowski - 25-01-2007 00:01
=?iso-8859-2?Q?Re:_Nazwa_Tabeli_jako_parametr_w_procedurze_sk =B3adowanej?=
  "_nabuchodonozor" <kkocemba@wsb-nlu.edu.pl> wrote in message
news:1169593262.473144.190120@m58g2000cwm.googlegr oups.com...
....
> No i pytanie czy jest w ogole mozliwe przekazywanie nazwy tabeli do
> parametru?? Prosze o wszelkie sugestie moze jest inny sposob niz
> pisanie procedury??

Trzeba dynamicznie tworzyć zapytanie sql, czyli coś w stylu:
CREATE procedure WybierzTabele
@nazwa nvarchar(30)
as
Exec ('select * from ' + @nazwa)
Go

--
Pozdrawiam
Grzegorz




_nabuchodonozor - 26-01-2007 00:03
=?iso-8859-2?q?Re:_Nazwa_Tabeli_jako_parametr_w_procedurze_sk =B3adowanej?=
 
Witam ponownie,

Dzieki za ostatnia pomoc:) bardzo sie przydala:) ale teraz mam podobny
problem:
Otoz mam nastepujaca procedurke:

CREATE procedure SprawdzMiejsce
@nazwa nvarchar(50),
@miejsce int output
as
set @miejsce = (select Zajetemiejsca from [@nazwa] )

No i nie bardzo wiem jak moge to osiagnac. Probowalem tez w ten sposob:

set @miejsce = exec ('select Zajetemiejsca from ' +@nazwa)

ale wyskakuje blad:
Server: Msg 156, Level 15, State 1, Procedure SprawdzMiejsce, Line 5
Incorrect syntax near the keyword 'exec'.

Nie bardzo umiem poslugiwac sie dynamicznymi zapytaniami bede wdzieczny
za pomoc i chetnie poczytalbym o takich zapytaniach wiecej ale nie
bardzo wiem gdzie moze ktos zna jakas dobra ksiazke lub link:)

pozdro




Grzegorz Danowski - 26-01-2007 00:03
=?iso-8859-2?Q?Re:_Nazwa_Tabeli_jako_parametr_w_procedurze_sk =B3adowanej?=
  "_nabuchodonozor" <kkocemba@wsb-nlu.edu.pl> wrote in message
news:1169697647.473303.139770@a75g2000cwd.googlegr oups.com...
> Dzieki za ostatnia pomoc:) bardzo sie przydala:) ale teraz mam podobny
> problem:
> Otoz mam nastepujaca procedurke:
>
> CREATE procedure SprawdzMiejsce
> @nazwa nvarchar(50),
> @miejsce int output
> as
> set @miejsce = (select Zajetemiejsca from [@nazwa] )
>
> No i nie bardzo wiem jak moge to osiagnac. Probowalem tez w ten sposob:
>
> set @miejsce = exec ('select Zajetemiejsca from ' +@nazwa)
>

Mam wrażenie, że przekombinowujesz i trzymasz w osobnych tabelach to co
winneś trzymać w jednej wzbogaconej o dodatkową kolumną z atrybutem, który
aktualnie określa nazwę tabeli.
--
Pozdrawiam
Grzegorz





_nabuchodonozor - 26-01-2007 00:03
=?iso-8859-2?q?Re:_Nazwa_Tabeli_jako_parametr_w_procedurze_sk =B3adowanej?=
  Mam takie troche male komplikacje w projekcie:P Dotyczy on kina. Mam
tabele Filmy a w niej tytulFilmu. Gdy uzytkownik doda jakis film do
bazy automatycznie tworzona jest tabela o nazwie podanej w tytulFilmu.
Potrzebne mi to jest do tego aby w tych nowych tabelach przechowywac
informacje odnosnie aktualnie zajetych krzeselek(ktorych jest 105) i
ceny biletu ktora przypada na dane krzeselko. Przedstawiam to formie
przyciskow i jesli uzytkownik kliknie na dane "krzeselko" jest ono
zapisywane do bazy jako zajete. Pozniej chce tylko w petli w programie
sprawdzic ktore miejsca sa zajete i narysowac aktualna sytuacje z
miejscami na dokladny film. Nie wiem jak teraz mam wyciagnac int(w
sumie to chyba tablice tych intow) z tabeli o niewiadomej nazwie przed
wykonaniem procedury. Nie umialem tego przedstawic w jednej tabeli bo
tak byloby znacznie wygodniej.




Grzegorz Danowski - 26-01-2007 00:03
=?iso-8859-2?Q?Re:_Nazwa_Tabeli_jako_parametr_w_procedurze_sk =B3adowanej?=
  "_nabuchodonozor" <kkocemba@wsb-nlu.edu.pl> wrote in message
news:1169766658.512537.144040@s48g2000cws.googlegr oups.com...
> Mam takie troche male komplikacje w projekcie:P Dotyczy on kina. Mam
> tabele Filmy a w niej tytulFilmu. Gdy uzytkownik doda jakis film do
> bazy automatycznie tworzona jest tabela o nazwie podanej w tytulFilmu.

To teraz powiedz, co się stanie jak ktoś nagra film pod tytułem "Filmy".

....
> zapisywane do bazy jako zajete. Pozniej chce tylko w petli w programie
> sprawdzic ktore miejsca sa zajete i narysowac aktualna sytuacje z
> miejscami na dokladny film. Nie wiem jak teraz mam wyciagnac int(w
> sumie to chyba tablice tych intow) z tabeli o niewiadomej nazwie przed
> wykonaniem procedury. Nie umialem tego przedstawic w jednej tabeli bo
> tak byloby znacznie wygodniej.

Eeetam, czy wykonanie prostego selekta z nazwą filmu w Where jest
trudniejsze? I jeśli tak jest rzeczywiście, to jest to niezgodnie z regułami
sztuki (normalizacją).
--
Pozdrawiam
Grzegorz




krizor - 30-01-2007 00:01

  > "_nabuchodonozor" <kkocemba@wsb-nlu.edu.pl> wrote in message
> news:1169697647.473303.139770@a75g2000cwd.googlegr oups.com...
> > Dzieki za ostatnia pomoc:) bardzo sie przydala:) ale teraz mam podobny
> > problem:
> > Otoz mam nastepujaca procedurke:
> >
> > CREATE procedure SprawdzMiejsce
> > @nazwa nvarchar(50),
> > @miejsce int output
> > as
> > set @miejsce = (select Zajetemiejsca from [@nazwa] )
> >
> > No i nie bardzo wiem jak moge to osiagnac. Probowalem tez w ten sposob:
> >
> > set @miejsce = exec ('select Zajetemiejsca from ' +@nazwa)
> >
>
> Mam wrażenie, że przekombinowujesz i trzymasz w osobnych tabelach to co
> winneś trzymać w jednej wzbogaconej o dodatkową kolumną z atrybutem, który
> aktualnie określa nazwę tabeli.
> --
> Pozdrawiam
> Grzegorz
>
a moze tak : EXECUTE IMMEDIATE :) tzw.: dynamiczny sql

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




Grzegorz Danowski - 30-01-2007 00:02
=?iso-8859-2?Q?Re:_Nazwa_Tabeli_jako_parametr_w_procedurze_sk =B3adowanej?=
  "krizor" <krozycki@op.pl> wrote in message
news:62c7.000000d3.45be56c0@newsgate.onet.pl...
>> > Dzieki za ostatnia pomoc:) bardzo sie przydala:) ale teraz mam podobny
>> > problem:
>> > Otoz mam nastepujaca procedurke:
>> >
>> > CREATE procedure SprawdzMiejsce
>> > @nazwa nvarchar(50),
>> > @miejsce int output
>> > as
>> > set @miejsce = (select Zajetemiejsca from [@nazwa] )
>> >
>> > No i nie bardzo wiem jak moge to osiagnac. Probowalem tez w ten sposob:
>> >
>> > set @miejsce = exec ('select Zajetemiejsca from ' +@nazwa)
>> >
....
> a moze tak : EXECUTE IMMEDIATE :) tzw.: dynamiczny sql

Najwyraźniej masz inną szklaną kulę i ta Twoja wskazuje na Oracle? (ja
obstawiałem, że pytacz ma problem ze SQL Serverem :).
Grzegorz
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Czy zna (obsługuje) ktoś program Iso Draw ? MYSQL - kodowanie w ISO-PL strona plus baza w iso do utf-8 Kodowanie: z iso na utf Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8 =?iso-8859-2?q?Co_oznacza_b=B3=B1d_Warning:_mysql=5Fconnect() _[function.mysql-connect]:_Can't_connect_to_local_MySQL_server_through_sock et_'/var/run/mysqld/mysqld.sock'_(2)_in?= =?iso-8859-2?q?Informatyka,_Java,_EJB,_Ajax,_Spring=2E_Czy=BF by_to_koniec_=B6wiata,_czy_te=BF_nasze_uczelnie_b= EAd=B1_uczy=B3y_w_ko=F1cu!_czego_praktycznego_=2E= 2E=2E=2E?= =?iso-8859-2?q?Ati_Mobility_Radeon_X300_W_Notebooku_Jak_Zwi=E Akszy=E6_Ilo=B6=E6_Grafiki_Poprzez_Wsp=F3=B3dziele nie_Z_Ramu=3F=3F=3F?= =?ISO-8859-2?Q?=AFegnam_si=EA=2E=2E=2E?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • red-hacjenda.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com