odchudzicsie
On 28.08.2003 14:44, Krzysztof KK schrieb:
W access 97 nie ma czegość takiego?
chciałbym sobie z tym poradzić bez zmieniania wersji Access'a
Jesli to co chcesz wywolac jest funkcja (a nie procedura)
mozesz uzyc Eval(). Inne rozwiazanie to przekazanie
poziomu jako parametru - a potem to juz niestety
"select case ..." albo "if ... then ... elseif ..."
KN chyba kiedys pokazwal (sic) funkcje z dll-ki
VB-runtime, pozwalajaca wykonywac linijki codu
VB. Moze to sie nada. Poszukaj w archiwum.
Ciao, Smyk
Dzieki za odzew
Wró ka mi szepce do ucha, e to MSSQL
Tak MSSQL 2000.
Ale co CI da @@TRANCOUNT skoro w ca ej procedurze jest jedna transakcja?
Mo e rzu okiem na @@ROWCOUNT ?
@@TRANCOUNT uzywalem gdy kazda operacje (delete insert select update)
ujmowalem w osobna transakcje(choc nie wiem czy slusznie). A jesli
chodzi o @@ROWCOUNT to nie dziala czesem to w ten sposob ze musze
najpierw znac ilosci wierszy ktore chce updatowac?? Np chce updatowac
2 wiersze wykonal sie 1 i wtedy IF @@ROWCOUNT <2 ROLLBACK? Kurcze
nie znam sie na tym;/
pozdro
KK
Dnia Sat, 12 Apr 2003 10:18:39 +0200, "Krzysztof Piotrowski"
<krz@kk.kalisz.plwklepał(-a):
Dzieki za naprowadzenie - juz sobie chyba poradze. Enter_Query a potem
Execute_Query.
Podpowiedź: jeśli w PRE-QUERY podstawisz do pola bazowego jakąś wartość, a potem
wykonasz Execute_query, to zostanie ona uwzględniona w klauzuli WHERE.
PRE-QUERY
:BLOK1.TEMAT := 'Temat1';
Zapytanie wtedy będzie wyglądać mniej więcej tak:
select .... from tabela where temat = :BLOK1.TEMAT;
A za :BLOK1.TEMAT parser podstawi 'Temat1'.
In article <8qatle$kk@news.tpi.pl,
"marcin repeć" <m@iq.plwrote:
| SELECT count(*)
| FROM SELECT a, b, c FROM tabela GROUP BY a,b,c;
To chyba nie ta bajka, a swoją drogą czy jest jakiś serwer który
obsługuje
taką składnię ?
Na Anywhere 6.0 dziala
SELECT count(*)
FROM (SELECT a, b, c FROM tabela GROUP BY a,b,c) as abc;
Krzysztof Michalak wrote:
Witam!
Mam pewien problem. Potrzebuje napisac zapytanie ktore bedzie
zwracalo 0 jesli wartosc kolumny rowna sie 0, lub przetworzona wartosc
kolumny w innym przypadku. Gdyby to bylo mozliwe to powinno wygladac
tak:
SELECT (IF (KOL1 == 0) THEN RETURN 0 ELSE RETURN FUN1(KOL1)) AS A
FROM TABELA;
FUN1 to jest jakas funkcja standardowa dla SYBASE.
Jak masz nowego Sybase ( 12 ) to mozesz uzyc CASe'a w SELEkcie.
Jak nie to zostaja tzw funkcje charakterystyczne:
tj SELECT abs(sgn(kol1))*fun(kol1) FROM tabela
Funkcja charakterystyczna ma wartosc 1 jezeli warunek spelniony ( W tym
przypadku kol1 <0 ) i 0 w przypadku przeciwnym. Mozna je zapisac dla
wszystkich porownan numerycznych.
Dziala to calkiem szybko tylko potrafi wygladac strasznie nieczytelnie
zwlaszcza jesli warunkow jest wiecej.
Pozdrawiam
KK
Witam,
Czy instrukcje funkcje IF() mozna uzywac nie tylko w instrukcji SELECT?
chodzi mi dokladnie o UPDATE, czy mozna by uaktualniac pola na dwa sposoby
przy uzyciu warunku, tak aby nie bylo potrzeby dwoch zapytan.
Chciałby to załatwic na takiej zasadzie:
UPDATE
table1 T1, table2 T2
SET
IF(T2.LANG='pl',T1.TWIN_PAGE_ID=CONCAT('en-',TWIN_PAGE_ID,':') ,
T1.TWIN_PAGE_ID=CONCAT('pl-',TWIN_PAGE_ID )
WHERE
T1.GROUP_ID=T2.ID AND T1.TWIN_PAGE_ID<''
W ten sposób uaktualnil bym pole T1.TWIN_PAGE_ID albo wartoscią tego pola z
przedrostkiem 'pl' lub z przedrostkiem 'en'
Dzieki pozdrawiam.
KK
"Konrad Kosmowski" <k.kosmow@gmail.comwrote in message
*** adam <ozzf@tlen.pl:
| jak odseparowac tylko te rekordy dla ktorych znak pierwszy z pole1
| jest cyfra? probowalem juz wszystkiego a niechce robic czegos w stylu
| where substring(pole1,1,1) = '0' OR substring(pole1,1,1) = '1' itd.
SELECT ... FROM ... WHERE foo REGEXP '^[0-9]*'
| czy ktos zna jakies eleganckie rozwiazanie ?
może coś takiego?
substring(pole1,1,1) IN (0,1,2,3,4,5,6,7,8,9)
Prawidłowo projektować tabele? :)
--
+ .-. .
Pozdrawiam, . * ) )
Konrad Kosmowski . . '-' . kK