Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
je souhaiterai si quelqu'un m 'éclaircit la bonne piste pour crypter le code d'une fonction écrite en PLpgSQL
comme le cas sous oracle. (wrap)
j'ai pensé que le seul moyen c'est de la créer dans une classe en C, mais j'ignore comment le faire ?
je
je vous remercie de votre aide
voici un exemple simple en plpgsql pour le tutoriel.
--------------
CREATE OR REPLACE function searchanimal (nom character varying(16)) returns
setof refcursor as
$BODY$
declare
ref refcursor ;
row1 animals%ROWTYPE;
begin
OPEN ref FOR SELECT * FROM animals WHERE name = nom ;
LOOP
FETCH ref into row1;
if not found then
EXIT;
end if;
return next row1 ;
END LOOP ;
close ref;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
Bonjour Mr Marc,
sincèrement, je vous remercie de m'avoir aidé.
Bon travail
je vais reformuler ma fonction
Cordialement
Hatem
Bonjour,
je postule ma question et je souhaiterai si quelqu'un peut m'aider,
mon objectif est de lancer une recherche par mot clé sur toutes les tables ainsi leurs champs issus de la base, si un ou pls résultats trouvés il affiche ses enregistrements.
ma fonction recherche n'affiche aucun bug mais par conséquent le résultat est toujours nul.
j'ai pas compris où est le problème
j'exécute ma fonction par la requete exemple je cherche dans toutes tables et dans tous les champs issus un 'service' malgré que dans la base type j'ai déjà instauré ces mots clé correctement !
je serai à votre écoute pour éclaircir la bonne méthode.
select * from rech2('service') as tableau(tab1 int , tab2 varchar) ;
-----------------------------------
voici mon code en PL/PgSQL
-----------------------------------
CREATE OR REPLACE FUNCTION rech2(mot character varying)
RETURNS SETOF record AS
$BODY$
DECLARE
querysrch record;
req record;
i int ;
BEGIN
FOR querysrch IN SELECT table_name, column_name FROM information_schema.columns
WHERE table_schema = 'public' and data_type ilike '%character%'
LOOP
FOR req IN EXECUTE 'SELECT '|| querysrch.column_name ||' FROM '|| querysrch.table_name||' WHERE '|| querysrch.column_name ||' = '||'''|| mot || '''||' ;'
LOOP
;
RETURN NEXT Req;
END LOOP;
END LOOP;
RETURN;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION rech2(character varying) OWNER TO postgres;
---------------------------------
Cordialement
Hatem
Pages : 1