>> create procedure sp_test (new_id integer) >> as >> begin >> set generator gen_test to :new_id; >> end >> >> × YA ÓÏÚÄÁÅÔÓÑ É ÒÁÂÏÔÁÅÔ, × 1.5.3 - ÎÅÔ. îï: >> ÉÚ ÂÅËÁÐÁ ×ÏÓÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ, ÐÒÉ ÚÁÐÕÓËÅ ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÅÔ, ÎÏ É ÎÅ >> ÒÕÇÁÅÔÓÑ > > îÅ ÍÏÖÅÔÔÁËÏÇÏ ÂÙÔØ. ôÁÍ blr ÓÏ×ÍÅÓÔÉÍÙÊ Ó FB ÓÏÚÄÁ£ÔÓÑ. FB > ÐÅÒÅËÏÍÐÉÌÉÒÏ×ÁÔØ ÎÅ ÍÏÖÅÔ, Á ÒÁÂÏÔÁÔØ ÄÏÌÖÅÎ.
ôÁË É ÅÓÔØ - Ñ ÕÖÅ ÎÁÐÉÓÁÌ. ðÒÏÂÌÅÍÁ ÂÙÌÁ × ÄÒÕÇÏÍ: ÔÅÌÏ ÐÒÏÃÅÄÕÒÙ ÎÅÍÎÏÇÏ ÄÌÉÎÎÅÅ: create procedure sp_test (new_id integer) as declare variable id integer; begin id = new_id; select max(id) from test where id>new_id into :id; set generator gen_test to :id; end ËÁË ÏËÁÚÁÌÏÓØ, ÅÓÌÉ × ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÓÅÌÅËÔ ×ÏÚ×ÒÁÝÁÅÔ null, ÔÏ ÐÅÒÅÍÅÎÎÏÊ ÜÔÏ null É ÐÒÉÓ×ÁÉ×ÁÅÔÓÑ. îÅ ÕÞÅÌ, ÞÔÏ ÁÇÒÅÇÁÔÎÁÑ ÆÕÎËÃÉÑ ×ÓÅÇÄÁ ÈÏÔØ ÞÔÏ-ÎÉÂÕÄØ, ÄÁ ×ÏÚ×ÒÁÝÁÅÔ