![]() |
Creacion de un campo clave interno autonumerico
Muy buenas, estoy desarrollando una aplicacion para mi Proyecto Fin Carrera, utilizo Delphi 2006 y Sql-Server Express 2005.
Necesito en una tabla que cuando realizo un insert me genere un campo autoincrementable como campo clave interno, lo estoy haciendo mediante la consulta del maximo numero y sumandole uno, pero no creo que esto sea lo mas correcto. Me gustaria diseñar un Trigger que en el evento insert me generara el siguiente numero. He buscado por el foro y lo no he visto como poder hacerlo, si alguien tuviese un ejemplo se lo agradeceria, logre encontar como hacerlo con interbase, pero cuando intento hacerlo en SQL-Server no se como crear el generador que necesito para que genere el autonumero [HILO:Conectar un Trigger con Delphi] Buscando en otros sitio he visto que dicen que defina un campo autonumerico, pero no se donde estan pues no es nigun tipo de campo. Saludos y gracias de antemano, JesusMDGZ |
Bueno, en realidad en SQL Server no existen propiamente campos autonuméricos.
Lo que si puedes hacer es crear un campo que sea tipo "uniqueidentifier" y en su porpiedad "IsRowGuid" ponerlo a verdadero, de esa manera cada que se genere un nuevo registro, este campo generará una llave de identificación única. Que podría ser poquito complicada de leer, así que tienes la otra opción que es mucho más parecida a un campo numérico autoincremental. Lo que necesitas hacer es crear un campo entero, al cuál, su propiedad "Identity" deberá ser verdadero, con lo que te permitirá modificar las propiedades "Identity Seed" (Semilla) e "Identity Increment" (Incremento). Con esto, este campo numérico se incrementará según le definas en el incremento, empezando por el número que hayas definido como semilla. Esto lo puedes hacer desde el "Enterprise Manager" de manera visual, o por medio de SQL desde el "Query Analizer". De cualquier manera busca información en SQL Server sobre "Identity", "UniqueIdentifier" y "RowGuid" |
La franja horaria es GMT +2. Ahora son las 19:47:01. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi