Subject Re: [firebird-support] PSQL to update generator value by using another generator value?
Author Wei Yu
Thanks.

William, Yu


----- Original Message ----
From: unordained <unordained_00@...>
To: firebird-support@yahoogroups.com
Sent: Monday, April 21, 2008 11:41:42 AM
Subject: Re: [firebird-support] PSQL to update generator value by using another generator value?

Agh! Bad formatting, bad.

Intended link: http://www.firebird sql.org/pdfmanua l/Firebird- Generator- Guide.pdf (page 7)

Intended code:

SET GENERATOR name TO value;

-or-

declare variable x integer;
declare variable newval integer;
begin
newval = 73; -- new desired generator value, from whatever source
x = gen_id(gen_test_ 1, 0); -- get current value without modifying it.
x = gen_id(gen_test_ 1, -x); -- get the result of setting it back to zero.
x = gen_id(gen_test_ 1, newval); -- re-increment to new desired value
end

-Philip

---------- Original Message -----------
From: "unordained" <unordained_00@ csmaster. org>
To: firebird-support@ yahoogroups. com
Sent: Mon, 21 Apr 2008 10:16:12 -0500
Subject: Re: [firebird-support] PSQL to update generator value by using another generator value?

> Please see the firebird generator guide, page 7.You can modify the value of a generator via "SET
GENERATOR name TO value", but you could also do the following (pure DML):declare variable x
integer;declare variable newval integer; begin newval = 73; -- new desired generator value, from
whatever sourcex = gen_id(gen_test_ 1, 0); -- get current value without modifying it. x =
gen_id(gen_test_ 1, -x); -- get the result of setting it back to zero. x = gen_id(gen_test_ 1,
newval); -- re-increment to new desired value end(My quick test shows this resulted in the right
value; gen_test_1 had a value of 73 when tested via gen_id(gen_test_ 1, 0) after running this SP
chunk.)Note that you'll want to be sure you're doing this in single-user mode, given that anybody
else messing with the generator at the same time will throw it off!(my apologies if my email client
makes a mess of this, I've been having trouble with it recently)-Philip
>
> ---------- Original Message -----------
> From: "william_yuwei" <william_yuwei@ yahoo.com>
> To: firebird-support@ yahoogroups. com
> Sent: Mon, 21 Apr 2008 14:31:13 -0000
> Subject: [firebird-support] PSQL to update generator value by using another generator value?
>
> > HI, All
> >
> > Is there any PSQL that can modify a generator value by using another
> > generator value? What I want to do is to initial a new created
> > generator value by using another generator value in a script, that my
> > customers can just run this script to update their databases.
> >
> > Thanks
> >
> > William
> >
> >
> ------- End of Original Message -------
>
> [Non-text portions of this message have been removed]
>
>
------- End of Original Message -------




<!--

#ygrp-mkp{
border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px 14px;}
#ygrp-mkp hr{
border:1px solid #d8d8d8;}
#ygrp-mkp #hd{
color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px 0px;}
#ygrp-mkp #ads{
margin-bottom:10px;}
#ygrp-mkp .ad{
padding:0 0;}
#ygrp-mkp .ad a{
color:#0000ff;text-decoration:none;}
-->

<!--

#ygrp-sponsor #ygrp-lc{
font-family:Arial;}
#ygrp-sponsor #ygrp-lc #hd{
margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
#ygrp-sponsor #ygrp-lc .ad{
margin-bottom:10px;padding:0 0;}
-->

<!--

#ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;}
#ygrp-vitnav{
padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
#ygrp-vitnav a{
padding:0 1px;}
#ygrp-actbar{
clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;}
#ygrp-actbar .left{
float:left;white-space:nowrap;}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;font-size:77%;padding:15px 0;}
#ygrp-ft{
font-family:verdana;font-size:77%;border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;}

#ygrp-reco {
margin-bottom:20px;padding:0px;}
#ygrp-reco #reco-head {
font-weight:bold;color:#ff7900;}

#reco-grpname{
font-weight:bold;margin-top:10px;}
#reco-category{
font-size:77%;}
#reco-desc{
font-size:77%;}

#ygrp-vital{
background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
#ygrp-vital #vithd{
font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
#ygrp-vital ul{
padding:0;margin:2px 0;}
#ygrp-vital ul li{
list-style-type:none;clear:both;border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
#ygrp-vital ul li .cat{
font-weight:bold;}
#ygrp-vital a{
text-decoration:none;}

#ygrp-vital a:hover{
text-decoration:underline;}

#ygrp-sponsor #hd{
color:#999;font-size:77%;}
#ygrp-sponsor #ov{
padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;margin:0;}
#ygrp-sponsor #ov li{
list-style-type:square;padding:6px 0;font-size:77%;}
#ygrp-sponsor #ov li a{
text-decoration:none;font-size:130%;}
#ygrp-sponsor #nc{
background-color:#eee;margin-bottom:20px;padding:0 8px;}
#ygrp-sponsor .ad{
padding:8px 0;}
#ygrp-sponsor .ad #hd1{
font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
#ygrp-sponsor .ad a{
text-decoration:none;}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;}
#ygrp-sponsor .ad p{
margin:0;}
o{font-size:0;}
.MsoNormal{
margin:0 0 0 0;}
#ygrp-text tt{
font-size:120%;}
blockquote{margin:0 0 0 4px;}
.replbq{margin:4;}
-->






____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

[Non-text portions of this message have been removed]