Bonjour,

j'essaye d'utiliser le champ RDB$DB_KEY, et le champ retourné par la fonction HASH.
Dans une procédure, je récupère ces valeurs, et les insert dans une autre table... hélas, cela ne fonctionne pas correctement j'ai l'impression...

voilà le test que j'ai fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
CREATE TABLE TEST (
	HASH_CODE             DOUBLE PRECISION,
	RDB_DB_KEY            CHAR(8)
);
 
SET TERM !!;
 
CREATE PROCEDURE PROC_TEST
AS
  DECLARE VARIABLE HASH_CODE DOUBLE PRECISION;
  DECLARE VARIABLE RDB_DB_KEY CHAR(8);
BEGIN
	EXECUTE STATEMENT 'SELECT HASH(''essai''), RDB$DB_KEY FROM RDB$DATABASE' INTO HASH_CODE, RDB_DB_KEY;
	INSERT INTO TEST (HASH_CODE, RDB_DB_KEY) VALUES ( :HASH_CODE, :RDB_DB_KEY );
END!!
pour le HASH_CODE, cela semble correcte, bien que dans mon code, je me retrouvais avec des e+18, quand je mettais sa dans ma table trace.
pour le DB_KEY, je me retrouve à priori avec un caractère, un carré.

Il n'y aurait pas un problème de CAST ou de type ??

Merci d'avance...