Función UUID()
El propósito de esta función es devolver un identificador único universal. Un UUID es un número de 128 bits representado por una cadena de cinco números hexadecimales en el formato:
aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.Un UUID está diseñado para ser un único número globalmente en el espacio y el tiempo.
Es de suponer pués que dos llamadas a UUID() generen dos valores diferentes, aunque esas llamadas se realizen en dos ordenadores separados físicamente y que no están conectados en red.
La utilidad de esta función está mas que clara. Nos permite obtener un identificador único por cada registro de una tabla, podemos utilizar esta cadena como clave primaria de la tabla, esto nos permitiria que en el caso de replicación de la base de datos, registros de la misma tabla pero en diferentes bases de datos no se sobreescribieran entre si. Cosa que si prodría pasar si utilizáramos como clave primaria campos autoincrementales.
Ya que al estar en bases de datos diferentes podría darse el caso de tener registros duplicados con el mismo identificador.
Vamos ha aplicar esta función con nuestro querido FOX:
******************************************** * Ejemplo de uso función UUID ******************************************** LOCAL CSQL, NH, CCADENA CSQL = "" NH = 0 CCADENA = "" CSQL = "DRIVER={MySQL ODBC 3.51 Driver};" + ; "SERVER=127.0.0.1;" + ; "PORT=3306;" + ; "UID=usuario;" + ; "PWD=pasword;" + ; "DATABASE=mybasededatos;" + ; "OPTIONS=2049;" NH = SQLSTRINGCONNECT("" + CSQL, .T.) IF NH > 0 SQLSETPROP(NH,'Asynchronous', .F.) SQLSETPROP(NH,'BatchMode', .T.) CCADENA = PADR("",32,'0') SQLPREPARE(NH, "SELECT UUID()","CURSOR") SQLEXEC(NH) SELECT CURSOR IF RECCOUNT()>0 CCADENA = LEFT(FIELD(1),08)+ ; SUBSTR(FIELD(1),10,04)+ ; SUBSTR(FIELD(1),15,04)+ ; SUBSTR(FIELD(1),20,04)+ ; RIGHT(FIELD(1),12) ENDIF WAIT WINDOW CCADENA && Muestra la Cadena SELECT CURSOR USE ENDIF *************************************************************Antonio L. Montagut
www.ontarioxb.es
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.