Belirli bir değer verilirse ek bir WHERE
-Parametre uygulamak istiyorum. Şu anda SAP-Hana üzerinde çalışıyoruz, ancak sıkı prosedür prosedürünü bu plattforma uyarlayabiliriz. herhangi bir yardım çok takdir edilir! Yani burada şu kodlar: Henüz denedim ne var?WHERE
(IF
-Conditions) hesaplanmış bir WHERE
(IF
-Conditions) ve -Command ile çalıştı, ancak SAP HANA bunu desteklemiyor gibi görünüyor. Sonra WHERE
-Claus içinde CASE
ile isteklerini karşılayabilmek için çalıştı: WHERE ... CASE :wert <> '*' THEN ... END
Koşullu WHERE cümlesi saklı yordamlarda
0
A
cevap
1
AND (LW."testVal" LIKE :testVal OR :testVal = '*')
0
Neden tam olarak APPLY_FILTER işlevini kullanamıyorum?
PROCEDURE test (
IN id integer,
IN testVal VARCHAR(20) DEFAULT '',
out ex_return DB-SCHEME
)
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
--DEFAULT SCHEMA <default_schema_name>
READS SQL DATA AS
BEGIN
ex_return =
SELECT
L."ID",
LW."ID"
FROM DB1 L
INNER JOIN DB2 LW
ON L."id" = LW."id"
WHERE
L."id" = :id;
ex_filtered = APPLY_FILTER (:ex_return, :testVal);
END;
Değişken testVal'de artık tüm durumu sağlayabilirsiniz, örn.
call test (1, ' "testVal" like ''%ABC%'' ');
- Lars
Eğer 'düşündünüz mü belgeler ... VE (LW kaplı "TestVal" GİBİ edilir. TestVal VEYA: TestVal = '* ')' –