PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → [WD12] Sequence oracle, windev
[WD12] Sequence oracle, windev
Iniciado por PE, 02,oct. 2009 14:34 - 3 respuestas
Publicado el 02,octubre 2009 - 14:34
Bonjour

J'utilise windev 12 avec l'acces natif pour me connecter à une base de donnée oracle 11. J'utilise des ID automatiques qui sont traduits par une séquence dans oracle. Tout va bien.

Est-ce qu'il est possible de configurer windev pour qu'il utilise une sequence par table et non une sequence par projet?

Je me pose la question parce que nous avons déjà eu le cas de sequence oracle qui ont rebouclés (appli qui tourne pendant très longtemps, avec beaucoup de donnée) et qui crée régulièrement des problèmes. Mon idée serait dans un tel cas de ne bloquer les insertion sur une seule table et pas dans toute l'application.
Publicado el 05,octubre 2009 - 19:17
J'utilise aussi les séquences d'Oracle pour crée mes Primary Key.

J'ai une séquence par table.

Par contre je n'ai rien fait de spécial sous windev car je crée mes tables directement sous Oracle, pas avec Windev.

En fait, l'analyse me sert uniquement à avoir les noms de tables et leurs rubriques respectives sous la main.

De plus, les numéros de séquences sont générés automatiquement par Oracle grace à un trigger "Before Insert".

Ex :

CREATE OR REPLACE TRIGGER <Nom du Trigger>
BEFORE INSERT
ON <Nom de ma Table>
FOR EACH ROW
BEGIN
SELECT <MaSequence>.NEXTVAL INTO :NEW.<NomRubriqueIdAutomatique> FROM dual;
END;
Publicado el 12,octubre 2009 - 14:07
j'ai trouvé une syntaxe équivalente.

CREATE blablabla
BEGIN
:NEW.idindividu := SEQUENCE.NEXTVAL
END;
Publicado el 18,septiembre 2018 - 12:16
ds_seq is Data Source
sTrsql = "SELECT documentstatus_pk_seq.NEXTVAL as newnumber from dual"
HExecuteSQLQuery(ds_seq, ORACLE, hQueryWithoutCorrection, sTrsql)
Nextval_Windev is numeric = 0
HReadFirst(ds_seq)
Nextval = ds_seq.newnumber

Oracle 12C, Windev 20, OLEDB with Oracle OLEDB driver.

Bad thing about it is that it is a nex query every time, so not so fast.
Leaving the id field empty, null or "", which is normally filled by a trigger (which is enabled but it does not do the job) returnes a 0 (zero) in the record. Use the above, it works.:)
Windev, it stays a "DIY" software.