Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Update syntaxe for a stock programmation.
Message
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01228160
Message ID:
01228801
Views:
20
Sergy,

it works fine !

Thank

bernhart

>If 'iagendadateid' is always sequential you can change where clause
>
>*WHERE apd.iagendadateid < vp_id ) pd ;
>
>WHERE apd.iagendadateid = vp_id-1 ) pd ;
>
>Otherwise
>
>UPDATE AgendaPhar  ;
>			SET nstkjour = NVL( pd.nStkjourCor , 0 ) +1 ;
>	FROM AgendaPhar;
>	LEFT JOIN(;
>			SELECT apd.nstkjour AS nStkjourCor , apd.itraiterId ;
>					FROM  AgendaPhar apd ;
>			WHERE apd.iagendadateid < vp_id ;
>				AND NOT EXISTS ( SELECT * FROM  AgendaPhar ;
>								WHERE itraiterId = apd.itraiterId ;
>									AND iagendadateid < vp_id ;
>									AND iagendadateid > apd.iagendadateid)) pd ;
>		ON AgendaPhar.itraiterId = pd.itraiterId ;
>	WHERE AgendaPhar.iagendadateid = vp_id
>
>
>
>>
>>in fact i have still a problem.
>>
>>
>>FUNCTION test145()
>>
>>  CREATE CURSOR AgendaPhar  ( nstkjour N (6,2) , itraiterId I , iagendadateid I )
>>
>>  DIMENSION cSample[ 14 , 3 ]
>>  C= 0
>>
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1743
>>  cSample[ c, 3 ] =  1
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1800
>>  cSample[ c, 3 ] =  1
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1748
>>  cSample[ c, 3 ] =  1
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1749
>>  cSample[ c, 3 ] =  2
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1743
>>  cSample[ c, 3 ] =  2
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1748
>>  cSample[ c, 3 ] =  2
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1800
>>  cSample[ c, 3 ] =  2
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1901
>>  cSample[ c, 3 ] =  2
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  2043
>>  cSample[ c, 3 ] =  2
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1743
>>  cSample[ c, 3 ] =  3
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1748
>>  cSample[ c, 3 ] =  3
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1800
>>  cSample[ c, 3 ] =  3
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  1901
>>  cSample[ c, 3 ] =  3
>>  C=C+1
>>  cSample[ c, 1 ] =  0
>>  cSample[ c, 2 ] =  2043
>>  cSample[ c, 3 ] =  3
>>
>>
>>  SELECT AgendaPhar
>>  APPEND FROM ARRAY cSample
>>
>>
>>
>>
>>
>>
>>  FOR vp_id = 1 TO 3
>>
>>       UPDATE AgendaPhar  ;
>>      SET nstkjour = NVL( pd.nStkjourCor , 0 ) +1 ;
>>      FROM AgendaPhar;
>>      LEFT JOIN(;
>>      SELECT apd.nstkjour AS nStkjourCor , apd.itraiterId ;
>>      FROM  AgendaPhar apd ;
>>      WHERE apd.iagendadateid < vp_id ) pd ;
>>      ON AgendaPhar.itraiterId = pd.itraiterId AND ;
>>      AgendaPhar.iagendadateid = vp_id
>>
>>  NEXT
>>
>>  BROWSE NOWAIT
>>  SET
>>
>>ENDFUNC
>>
>>
>>
>>For itraiterId i want have
>>
>>itraiterId nstkjour iagendaId
>>1743 1 1 && It is just
>>1743 1 2 && It is false want i want 2
>>1743 2 3 && it is false want I want 3
>>
>>A idea ?
>>
>>
>>bernhart
>>
>>
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform