SQL Server - Error al convertir tipo de datos varchar a int

 
Vista:
sin imagen de perfil

Error al convertir tipo de datos varchar a int

Publicado por JENNIFER (1 intervención) el 02/03/2018 04:48:26
Necesito ayuda con un procedimiento almacenado en SQL, que genere automaticamente la primary Key, el procedimiento sale correcto pero al momento de llamarlo me sale "Error al convertir el tipo de datos varchar a int.", ayudenme, les dejo la tabla y el pequeño procedimiento, gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
create table TIOS (
ID int PRIMARY KEY not null IDENTITY(1,1),
NOMBRES VARCHAR(50) null,
);
 
Create sequence Nuevo
Increment by 1
start with 1;
 
create procedure INSERTAR_PK
@ID as int,
@NOMBRES nvarchar(50)
 
As
INSERT INTO TIOS(ID,NOMBRES) VALUES ('Nuevo.nextval', @NOMBRES);
end
exec INSERTAR_PK 'JENNI'
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 67
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Error al convertir tipo de datos varchar a int

Publicado por Ana (34 intervenciones) el 02/03/2018 10:48:34
Buenos días,

Si el ID, es autonumérico, no hace falta que lo pongas.

INSERT INTO TIOS(NOMBRES) VALUES ('Nuevo.nextval', @NOMBRES);

Un saludo

Ana
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 86
Ha disminuido su posición en 2 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Error al convertir tipo de datos varchar a int

Publicado por Rafael (110 intervenciones) el 02/03/2018 10:50:51
Hola:

Poner algo entre comillas simples significa que es una cadena...
1
INSERT INTO TIOS(ID,NOMBRES) VALUES ('Nuevo.nextval', @NOMBRES);

Luego entonces ... si pones 'Nuevo.nextval' entre comillado eso no pilla el siguiente numero de la secuencia... si no que es una cadena...

Y espera un dato INT, convertir esa cadena a entero NO se puede por que no tiene numeros... luego el error es claro o no???

Prueba asi
1
INSERT INTO TIOS(ID,NOMBRES) VALUES (Nuevo.nextval, @NOMBRES);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Diego
Val: 16
Ha aumentado su posición en 4 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Error al convertir tipo de datos varchar a int

Publicado por Juan Diego (8 intervenciones) el 05/03/2018 14:26:17
O simplemente:

1
INSERT INTO TIOS(NOMBRES) VALUES (@NOMBRES);

¿no?

Feliz día.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar