Autor Tema: ayuda valores autoincrementables sql 2005  (Leído 6169 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado renji

  • Trade Count: (0)
  • Sv Full Member
  • *
  • Thank You
  • -Given: 8
  • -Receive: 3
  • Mensajes: 616
ayuda valores autoincrementables sql 2005
« : diciembre 18, 2008, 09:51:57 am »
Hola amigos de SVC

tengo una pregunta como se puede hacer un campo  autoincrementables
Ejm.
tengo la el campo empleado_codigo y cada ves q le de un INSERT baya ingrementando  :embarassed:  ayuda gracias

Saludos.
« Última Modificación: diciembre 18, 2008, 09:53:53 am por renji »

Desconectado Maitro...

  • Trade Count: (8)
  • The Communiter-
  • *
  • Thank You
  • -Given: 100
  • -Receive: 134
  • Mensajes: 2997
  • Maitrosoft ©®™
Re: ayuda valores autoincrementales sql 2005
« Respuesta #1 : diciembre 18, 2008, 09:53:46 am »
Pues segun me acuerdo yo eso se define cuando creas la tabla, luego solo vas insertanto los registros y automaticamente deberia de ir incrementando (1, 2, 3... N)

Hechate una googleada ;)

Código: [Seleccionar]
http://www.google.com.sv/search?hl=es&lr=lang_es&safe=off&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=autoincrement+en+sql+2005&spell=1
« Última Modificación: diciembre 18, 2008, 09:58:52 am por Maitro... »

Desconectado renji

  • Trade Count: (0)
  • Sv Full Member
  • *
  • Thank You
  • -Given: 8
  • -Receive: 3
  • Mensajes: 616
Re: ayuda valores autoincrementables sql 2005
« Respuesta #2 : diciembre 18, 2008, 09:56:52 am »
Pues segun me acuerdo yo eso se define cuando creas la tabla, luego solo vas insertanto los registros y automaticamente deberia de ir incrementando (1, 2, 3... N)

mmmmmm pero como ya la cree y no hay una opcion en las propiedades de SQL no se digo y por codigo como seria

Desconectado vlad

  • Global Moderator
  • Trade Count: (10)
  • The Communiter-
  • *
  • Thank You
  • -Given: 53
  • -Receive: 104
  • Mensajes: 6366
    • Qualium.net
Re: ayuda valores autoincrementables sql 2005
« Respuesta #3 : diciembre 18, 2008, 10:12:07 am »
Que tipo de servidor de base de datos? MySQL, Oracle, etc, etc...?

Desconectado Camus de Acuario

  • Trade Count: (10)
  • The Communiter-
  • *
  • Thank You
  • -Given: 360
  • -Receive: 1851
  • Mensajes: 8457
  • Ōrora Ekusukyūshon!
Re: ayuda valores autoincrementables sql 2005
« Respuesta #4 : diciembre 18, 2008, 10:13:30 am »
mmmmmm pero como ya la cree y no hay una opcion en las propiedades de SQL no se digo y por codigo como seria

con codigo podria ser asi:

Código: [Seleccionar]
INSERT INTO tabla1
 (
 CODIGO,
 NOMBRE
 )
VALUES
(
 SELECT COALESCE(MAX(codigo),0) + 1 FROM tabla1,
 'renji'
)

lo que hace es tomar el maximo codigo y sumarle 1, para crear el nuevo codigo, coalesce te retorna cero si el primer valor es nulo (max(codigo)) esto por si no hay nada en esa tabla y al jalar max(codigo) no venga nulo y se le pueda sumar 1, en ese caso el codigo que insertaria es 1, luego 2, luego 3 y asi.......

si ocupas ORACLE, sustituye COALESCE por NVL

edit: lo acabo de probar en oracle y de ambas  formas sirve XD
« Última Modificación: diciembre 18, 2008, 10:15:44 am por Camus de Acuario »

Desconectado renji

  • Trade Count: (0)
  • Sv Full Member
  • *
  • Thank You
  • -Given: 8
  • -Receive: 3
  • Mensajes: 616
Re: ayuda valores autoincrementables sql 2005
« Respuesta #5 : diciembre 18, 2008, 10:17:29 am »
con codigo podria ser asi:

Código: [Seleccionar]
INSERT INTO tabla1
 (
 CODIGO,
 NOMBRE
 )
VALUES
(
 SELECT COALESCE(MAX(codigo),0) + 1 FROM tabla1,
 'renji'
)

lo que hace es tomar el maximo codigo y sumarle 1, para crear el nuevo codigo, coalesce te retorna cero si el primer valor es nulo (max(codigo)) esto por si no hay nada en esa tabla y al jalar max(codigo) no venga nulo y se le pueda sumar 1, en ese caso el codigo que insertaria es 1, luego 2, luego 3 y asi.......

si ocupas ORACLE, sustituye COALESCE por NVL

edit: lo acabo de probar en oracle y de ambas  formas sirve XD

SQL 2005

Desconectado Camus de Acuario

  • Trade Count: (10)
  • The Communiter-
  • *
  • Thank You
  • -Given: 360
  • -Receive: 1851
  • Mensajes: 8457
  • Ōrora Ekusukyūshon!
Re: ayuda valores autoincrementables sql 2005
« Respuesta #6 : diciembre 18, 2008, 10:29:03 am »
probalo con coalesce que es la alternativa a sql del nvl de oracle, pense que era exclusivo de sql asi como nvl para oracle, pero en oracle tambien sirve

Desconectado ruiz

  • Trade Count: (0)
  • Sv Full Member
  • *
  • Thank You
  • -Given: 0
  • -Receive: 1
  • Mensajes: 729
Re: ayuda valores autoincrementables sql 2005
« Respuesta #7 : diciembre 18, 2008, 11:06:37 am »
ya el sql ya tra esa funcion

CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
)

para insertar


INSERT new_employees
(fname, minit, lname)
VALUES
('Karin', 'F', 'Josephs')

no envias el campo autoincremantable el solo toma valor...

Desconectado tekun

  • -^- Elite Silver -^-
  • Trade Count: (1)
  • The Communiter-
  • *
  • Thank You
  • -Given: 53
  • -Receive: 101
  • Mensajes: 3222
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: ayuda valores autoincrementables sql 2005
« Respuesta #8 : diciembre 18, 2008, 11:33:45 am »
.....
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
....


:) los campos identity son tu solución ....

aquí podes encontrar ayuda de como utilizarlos..
http://www.helpdna.net/sqlserver_faq_06_autonumericos_identity.htm
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado renji

  • Trade Count: (0)
  • Sv Full Member
  • *
  • Thank You
  • -Given: 8
  • -Receive: 3
  • Mensajes: 616
Re: ayuda valores autoincrementables sql 2005
« Respuesta #9 : diciembre 18, 2008, 11:45:31 am »
« Última Modificación: diciembre 18, 2008, 11:49:40 am por renji »

Desconectado tekun

  • -^- Elite Silver -^-
  • Trade Count: (1)
  • The Communiter-
  • *
  • Thank You
  • -Given: 53
  • -Receive: 101
  • Mensajes: 3222
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: ayuda valores autoincrementables sql 2005
« Respuesta #10 : diciembre 18, 2008, 11:56:25 am »
ahhhhh no te creo.... :shock:


dejame ver....


tambíen ojo con el tipo de datos.... en un tipo varchar que incremento esperas?¿
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado renji

  • Trade Count: (0)
  • Sv Full Member
  • *
  • Thank You
  • -Given: 8
  • -Receive: 3
  • Mensajes: 616
Re: ayuda valores autoincrementables sql 2005
« Respuesta #11 : diciembre 18, 2008, 02:51:43 pm »
 :D :D :D ok gracias   :thumbsup:

Desconectado fran

  • Trade Count: (0)
  • Sv Jr.
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Mensajes: 53
  • Larga vida al Rock
Re: ayuda valores autoincrementables sql 2005
« Respuesta #12 : diciembre 22, 2008, 04:44:26 pm »
Hola puedes crear una consulta en la tabla donde lo quieras incrementar en 1 esto puede servirte
creas una variable idincremento luego a la hora de insertar los valores inserta  idincremento donde corresponde espero ayude :thumbsup:

    String url = "jdbc:mysql://localhost/comercial?user=root&password=root";
            Connection con;
            String cade;
            cade="SELECT max(idcuotas) as maximoidproducto FROM `cuotas`";
           
            Statement stmt;           
                     
            try {
               con = DriverManager.getConnection(url, "root", "root");
               stmt = con.createStatement();      
               ResultSet rs = stmt.executeQuery(cade);
               
               while(rs.next()){               
                  int valor=(rs.getInt(1));
                  idincremento=valor+1;
               }       
               stmt.close();           
               con.close();     
            }
                catch(SQLException ex) {
                  JOptionPane.showMessageDialog(this,ex,"ERROR",JOptionPane.ERROR_MESSAGE);
                 
               }
Hasta la Victoria

karleix

  • Visitante
  • Trade Count: (0)
Re: ayuda valores autoincrementables sql 2005
« Respuesta #13 : enero 04, 2009, 03:23:15 am »
Usa un campo Identity por lo general yo los usos con campos decimales o numeric