firebird generator guide ru
). Даже не смейте думать так: “Ну, хорошо, когда я выполню откат, я просто вместе с этим выполню GEN_ID(mygen,-1), чтобы снова установить генератор в значение 4”. Чаще всего это может сработать, но это генератору и откатом транзакции. По этой же причине не имеет смысла получать текущее значение с помощью GEN_ID(mygen,0), а затем увеличивать это значение на стороне клиента. Глава 2. Основные положения о генераторах Операторы DML (Data Manipulation Language — язык манипуляции данными) в клиентском SQL: SELECT GEN_ID( GeneratorName, increment ) FROM RDB$DATABASE; Операторы DML в PSQL (Procedural SQL — процедурный0 码力 | 23 页 | 227.10 KB | 1 年前3Firebird Generator Guide: A guide on how and when to use generators in Firebird
back the transaction (!). Don’t even think of something like “OK, when I rollback, I can just do GEN_ID(mygen,-1) afterwards to set it back to 4”. This may work most of the time, but is unsafe because changed the value in between. For the same reason it doesn’t make sense to get the current value with GEN_ID(mygen,0) and then increment the value on the client side. Chapter 2. Generator Basics 6 Chapter in client SQL: SELECT GEN_ID( GeneratorName, increment ) FROM RDB$DATABASE; DML statements in PSQL (Procedural SQL, available in stored procedures and triggers): intvar = GEN_ID( GeneratorName, increment0 码力 | 20 页 | 169.00 KB | 1 年前3firebird generatoren ratgeber
mal denken an etwas wie: “OK, wenn ich ein Rollback durchführe, setze ich den Generator mittels GEN_ID(mygen,-1) eben wieder auf 4 zurück”. Dies kann meistens funktionieren, ist aber unsicher, da andere verändert haben können. Aus dem gleichen Grund macht es keinen Sinn, den aktuellen Generatorwert mit GEN_ID(mygen,0) aus der Datenbank zu holen und ihn dann Client-seitig zu inkrementieren. Kapitel 2. Generatoren: Client-seitigem SQL: SELECT GEN_ID( GeneratorName, increment ) FROM RDB$DATABASE; DML Anweisungen in PSQL (Procedural SQL, verfügbar in Stored Procedures und Triggern): intvar = GEN_ID( GeneratorName, increment0 码力 | 22 页 | 183.60 KB | 1 年前3firebird language reference 30 rus
452 Функции для работы с генераторами (последовательностями) .............................. 453 GEN_ID ................................................................................................ FOR позволяет получить следующее значение последовательности, то же самое делает встроенная функция GEN_ID(). Константы Константа это значение, подставляемое непосредственно в SQL оператор, которое не получено термином генератора в InterBase и Firebird. Оператор NEXT VALUE FOR полностью эквивалентен функции GEN_ID (seq, n) и является рекомендуемым синтаксисом. Пример: NEW.CUST_ID = NEXT VALUE FOR CUSTSEQ;0 码力 | 719 页 | 3.98 MB | 1 年前3Firebird 2.5 LangRef Update Russian
COS() COSH() COT() DATEADD() DATEDIFF() DECODE() EXP() EXTRACT() MILLISECOND WEEK FLOOR() GEN_ID() GEN_UUID() HASH() IIF() LEFT() LN() LOG() LOG10() LOWER() LPAD() MAXVALUE() MINVALUE() MOD() NULLIF() CSTRING, DATABASE, DESC, DESCENDING, DESCRIPTOR, DO, DOMAIN, ENTRY_POINT, EXCEPTION, EXIT, FILE, GEN_ID, GENERATOR, IF, INACTIVE, INPUT_TYPE, ISOLATION, KEY, LENGTH, LEVEL, MANUAL, MODULE_NAME, NAMES CONTAINING CSTRING DATABASE DESC DESCENDING DESCRIPTOR DO DOMAIN ENTRY_POINT EXCEPTION EXIT FILE FREE_IT GEN_ID GENERATOR IF INACTIVE INPUT_TYPE ISOLATION KEY LENGTH LEVEL MANUAL MODULE_NAME NAMES OPTION OUTPUT_TYPE0 码力 | 364 页 | 1.45 MB | 1 年前3Firebird 2.5 Language Reference
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 8.8.1. GEN_ID(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ◦ Although generator values are stored as 64-bit integers, a Dialect 1 client request, SELECT GEN_ID (MyGen, 1), for example, will return the generator value truncated to 32 bits. • Dialect 2 is available sequence Expression for obtaining the next value of a specified generator (sequence). The internal GEN_ID() function does the same. Chapter 4. Common Language Elements 51 4.1.1. Constants A constant0 码力 | 521 页 | 2.30 MB | 1 年前3firebird 40 language reference
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 8.8.1. GEN_ID(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ◦ Although generator values are stored as 64-bit integers, a Dialect 1 client request, SELECT GEN_ID (MyGen, 1), for example, will return the generator value truncated to 32 bits. • Dialect 2 is available value of a specified generator (sequence). The internal Chapter 4. Common Language Elements 70 GEN_ID() function does the same. AT expression Expression to change the time zone of a datetime. 4.10 码力 | 778 页 | 3.43 MB | 1 年前3firebird 30 sprachreferenz
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 8.8.1. GEN_ID(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64-Bit-Ganzzahlen gespeichert werden, gibt eine Dialekt-1- Client-Anfrage, beispielsweise SELECT GEN_ID (MyGen, 1) den Generatorwert auf 32 Bit gekürzt zurück. • Dialekt 2 ist nur über die Firebird-Client-Verbindung Ausdruck zum Ermitteln des nächsten Wertes eines bestimmten Generators (Sequenz). Die interne Funktion GEN_ID() tut das Gleiche. Chapter 4. Allgemeine Sprachelemente 60 4.1.1. Konstanten Eine Konstante ist0 码力 | 701 页 | 3.12 MB | 1 年前3MSSQL to Firebird Russian
THEN NEW.my_number = GEN_ID(my_generator, 1); END Переход с MS SQL на Firebird 10 CREATE PROCEDURE get_my_generator RETURNS (new_value INTEGER) AS BEGIN new_value = GEN_ID(my_generator, 1); END0 码力 | 22 页 | 287.07 KB | 1 年前3firebird isql
=================================== AS BEGIN if (new.cust_no is null) then new.cust_no = gen_id(cust_no_gen, 1); END ============================================================================= AS Chapter 19. Isql Show commands 70 BEGIN if (new.cust_no is null) then new.cust_no = gen_id(cust_no_gen, 1); END =============================================================================0 码力 | 76 页 | 369.92 KB | 1 年前3
共 13 条
- 1
- 2