MSSQL: jak =?iso-8859-2?Q?debugowa=E6?= funkcje (print)?
Jacek Osiecki - 14-12-2006 16:09
MSSQL: jak =?iso-8859-2?Q?debugowa=E6?= funkcje (print)?
Witam,
Napisa?em sobie funkcj? zwracaj?c? warto?? skalarn?. Niestety, jak to bywa z pierwszym podej?ciem - co? nie dzia?a do ko?ca jak nale?y. Jak toto debugowa?? Przy table-valued function mo?na stosowa? po prostu print, natomiast tutaj nie - wywala:
Invalid use of side-effecting or time-dependent operator in 'PRINT' within a function.
Jak to obej???
Pozdrawiam, -- Jacek Osiecki joshua@ceti.pl GG:3828944 "To nie logika, to polityka" (c) Kabaret pod Wydrwigroszem 2006
GREGOR - 14-12-2006 16:09
> Jak toto debugowa?? Przy table-valued function mo?na stosowa? po prostu > print, natomiast tutaj nie - wywala: > > Invalid use of side-effecting or time-dependent operator in 'PRINT' within > a function. > > Jak to obej??? >
Insertowa? tre?ci printów do w?asnej tabelki i w trakcie lub po fakcie selektowac sobie z niej.
pozdr GREGOR
Grzesiek G. - 14-12-2006 16:09
GREGOR napisa?(a): >>Jak toto debugowa?? Przy table-valued function mo?na stosowa? po prostu >>print, natomiast tutaj nie - wywala: >> >>Invalid use of side-effecting or time-dependent operator in 'PRINT' within >>a function. >> >>Jak to obej??? >> > > > Insertowa? tre?ci printów do w?asnej tabelki i w trakcie lub po fakcie > selektowac sobie z niej.
W funkcjach nie mo?na insertowa? - taki badziew :-)
-- Grzegorz Gruza Odpowiadaj?c usu? "spamerom_nie." z adresu!!!
=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 14-12-2006 16:09
Grzesiek G. wrote: > W funkcjach nie mo?na insertowa? - taki badziew :-) Je?li dobrze rozumiem problem, to nie jest kwestia badziewno?ci tylko zasad. W Oracle:
http://download-uk.oracle.com/docs/c...htm#sthref1829
Controlling Side Effects of PL/SQL Subprograms
To be callable from SQL statements, a stored function (and any subprograms called by that function) must obey certain purity rules, which are meant to control side effects:
* When called from a SELECT statement or a parallelized INSERT, UPDATE, or DELETE statement, the function cannot modify any database tables.
* When called from an INSERT, UPDATE, or DELETE statement, the function cannot query or modify any database tables modified by that statement.
(...)
A static INSERT, UPDATE, or DELETE statement always violates WNDS. It also violates RNDS (reads no database state) if it reads any columns. A dynamic INSERT, UPDATE, or DELETE statement always violates WNDS and RNDS
-- Micha? Kuratczyk
dominik - 14-12-2006 16:09
=?iso-8859-2?q?Re:_MSSQL:_jak_debugowa=E6_funkcje_(print)=3F? =
Najpro?ciej jak si? da, wyci?? cia?o fukcji, zadeklarowa? paramerty, przypisac do nich warto?ci a ko?cowy return zamieni? na select. Druga mo?liwo?? to w QA pod prawym przyciskiem jest debug o ile dobrze pami?tam - je?li baza znajduje si? na zdalnym komputerze to sprawdzi? na jakim koncie jest uruchomiony serwis.
pozdrawiam, dominik
Jacek Osiecki napisa?(a): > Witam, > > Napisa?em sobie funkcj? zwracaj?c? warto?? skalarn?. Niestety, jak to bywa > z pierwszym podej?ciem - co? nie dzia?a do ko?ca jak nale?y. > Jak toto debugowa?? Przy table-valued function mo?na stosowa? po prostu > print, natomiast tutaj nie - wywala: > > Invalid use of side-effecting or time-dependent operator in 'PRINT' within a function. > > Jak to obej??? > > Pozdrawiam, > -- > Jacek Osiecki joshua@ceti.pl GG:3828944 > "To nie logika, to polityka" > (c) Kabaret pod Wydrwigroszem 2006
Grzesiek G. - 14-12-2006 16:09
Micha? Kuratczyk napisa?(a): > Grzesiek G. wrote: > >>W funkcjach nie mo?na insertowa? - taki badziew :-) > > Je?li dobrze rozumiem problem, to nie jest kwestia badziewno?ci tylko zasad. > W Oracle: >
St?d na ko?cu :-). Mo?na by wymy?le? tak? zasad?, ?e tabele u?ytkowników dzielimy na 2 grupy: zwyk?e (dotychczasowe) i specjalne (mo?e by? nawet z wykorzystaniem schematów). Funkcje operuj?ce na tablicach zwyk?ych i u?ywane w wyra?eniach z tablicami zwyk?ymi mog? zmienia? wtedy tablice specjalne, bo to i tak nie wp?ynie na wyniki ich dzia?ania, czy dzia?ania wyra?e? je wywo?uj?cych. Ale to tylko taki mój nieprzymy?lany sposób widzenia.
Pozdrawiam
-- Grzegorz Gruza Odpowiadaj?c usu? "spamerom_nie." z adresu!!!
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
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
MSSQL Express czy Oracle Express
Pobierananie danych z innej bazy danych w MSSQL
Migracja MSSQL 2005 CTP na 2005 Express
[mssql] insert do tabeli na podstawie danych z innej tabeli
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
zanotowane.pldoc.pisz.plpdf.pisz.plnumervin.keep.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 |
|