error en procedimiento almacenado: URGE!

18/08/2004 - 20:50 por marco | Informe spam
Hola a todos, soy nuevo en el grupo, mucho agradeceré si alguien me puede
ayudar con esto:

Tengo un procedimiento almacenado para insertar:

ALTER PROCEDURE spi_solicitudes
@solicitud_id int,
@adscripcion_id int = 0,
@dependencia_id int,
@documentos int = 0,
@puesto int = 0,
@solicitante_id int,
@status int = 1,
@tipo int = 0,
@tipo_solicitud_id int = 0,
@user_id int = 0,
@new_id int output
AS

INSERT INTO solicitudes(
adscripcion_id,
dependencia_id,
documentos,
puesto,
solicitante_id,
status,
tipo,
tipo_solicitud_id,
user_id)
VALUES(
@adscripcion_id,
@dependencia_id,
@documentos,
@puesto,
@solicitante_id,
@status,
@tipo,
@tipo_solicitud_id,
@user_id)
IF @@Error <> 0
RETURN -1
ELSE
SET @new_id = @@IDENTITY
RETURN @new_id


Para ejecutarlo , creo un objeto Command, con los siguientes parámetros:

PARAMETRO TIPO TAMAÑO VALOR
solicitud_id 3 0 0
adscripcion_id 3 0 3441
dependencia_id 3 0 2234
puesto 3 0 101
solicitante_id 3 0 32
status 3 0 1
tipo 3 0 1
user_id 3 0 2
origen_id 3 0 1
documentos 3 0 127
tipo_solicitud_id 3 0 1
new_id 3 0 Nulo

El error es:

"No se permite la conversión implícita del tipo de datos datetime a int.
Utilice la función CONVERT para ejecutar esta consulta."

Como se puede observar, todos los campos son de tipo int, asi como los
parámetros.

He ido quitando parametros y campos de la consulta, los que quité primero
fueron de tipo ntext, porque me da el error: "Conflicto de tipos de
operandos: int es incompatible con ntext". Ya no sé qué quitar...

Alguna idea?

Muchas gracias

Marco Padierna

Preguntas similare

Leer las respuestas

#1 Gregorio López Rojo
18/08/2004 - 21:33 | Informe spam
Ayudaría el que pases el script de la tabla.

Saludos.

"marco" <mpadierna h ot m_a.il dot c om> wrote in message
news:O5%
Hola a todos, soy nuevo en el grupo, mucho agradeceré si alguien me puede
ayudar con esto:

Tengo un procedimiento almacenado para insertar:

ALTER PROCEDURE spi_solicitudes
@solicitud_id int,
@adscripcion_id int = 0,
@dependencia_id int,
@documentos int = 0,
@puesto int = 0,
@solicitante_id int,
@status int = 1,
@tipo int = 0,
@tipo_solicitud_id int = 0,
@user_id int = 0,
@new_id int output
AS

INSERT INTO solicitudes(
adscripcion_id,
dependencia_id,
documentos,
puesto,
solicitante_id,
status,
tipo,
tipo_solicitud_id,
user_id)
VALUES(
@adscripcion_id,
@dependencia_id,
@documentos,
@puesto,
@solicitante_id,
@status,
@tipo,
@tipo_solicitud_id,
@user_id)
IF @@Error <> 0
RETURN -1
ELSE
SET @new_id = @@IDENTITY
RETURN @new_id


Para ejecutarlo , creo un objeto Command, con los siguientes parámetros:

PARAMETRO TIPO TAMAÑO VALOR
solicitud_id 3 0 0
adscripcion_id 3 0 3441
dependencia_id 3 0 2234
puesto 3 0 101
solicitante_id 3 0 32
status 3 0 1
tipo 3 0 1
user_id 3 0 2
origen_id 3 0 1
documentos 3 0 127
tipo_solicitud_id 3 0 1
new_id 3 0 Nulo

El error es:

"No se permite la conversión implícita del tipo de datos datetime a int.
Utilice la función CONVERT para ejecutar esta consulta."

Como se puede observar, todos los campos son de tipo int, asi como los
parámetros.

He ido quitando parametros y campos de la consulta, los que quité primero
fueron de tipo ntext, porque me da el error: "Conflicto de tipos de
operandos: int es incompatible con ntext". Ya no sé qué quitar...

Alguna idea?

Muchas gracias

Marco Padierna



Respuesta Responder a este mensaje
#2 marco
18/08/2004 - 22:19 | Informe spam
Bueno, en este momento no tengo acceso al servidor para obtener el script,
pero los campos que se muestran son todos de tipo int, y no hay
restricciones sobre otras tablas

mp

"Gregorio López Rojo" escribió en el mensaje
news:
Ayudaría el que pases el script de la tabla.

Saludos.

"marco" <mpadierna h ot m_a.il dot c om> wrote in message
news:O5%
> Hola a todos, soy nuevo en el grupo, mucho agradeceré si alguien me


puede
> ayudar con esto:
>
> Tengo un procedimiento almacenado para insertar:
>
> ALTER PROCEDURE spi_solicitudes
> @solicitud_id int,
> @adscripcion_id int = 0,
> @dependencia_id int,
> @documentos int = 0,
> @puesto int = 0,
> @solicitante_id int,
> @status int = 1,
> @tipo int = 0,
> @tipo_solicitud_id int = 0,
> @user_id int = 0,
> @new_id int output
> AS
>
> INSERT INTO solicitudes(
> adscripcion_id,
> dependencia_id,
> documentos,
> puesto,
> solicitante_id,
> status,
> tipo,
> tipo_solicitud_id,
> user_id)
> VALUES(
> @adscripcion_id,
> @dependencia_id,
> @documentos,
> @puesto,
> @solicitante_id,
> @status,
> @tipo,
> @tipo_solicitud_id,
> @user_id)
> IF @@Error <> 0
> RETURN -1
> ELSE
> SET @new_id = @@IDENTITY
> RETURN @new_id
>
>
> Para ejecutarlo , creo un objeto Command, con los siguientes parámetros:
>
> PARAMETRO TIPO TAMAÑO VALOR
> solicitud_id 3 0 0
> adscripcion_id 3 0 3441
> dependencia_id 3 0 2234
> puesto 3 0 101
> solicitante_id 3 0 32
> status 3 0 1
> tipo 3 0 1
> user_id 3 0 2
> origen_id 3 0 1
> documentos 3 0 127
> tipo_solicitud_id 3 0 1
> new_id 3 0 Nulo
>
> El error es:
>
> "No se permite la conversión implícita del tipo de datos datetime a int.
> Utilice la función CONVERT para ejecutar esta consulta."
>
> Como se puede observar, todos los campos son de tipo int, asi como los
> parámetros.
>
> He ido quitando parametros y campos de la consulta, los que quité


primero
> fueron de tipo ntext, porque me da el error: "Conflicto de tipos de
> operandos: int es incompatible con ntext". Ya no sé qué quitar...
>
> Alguna idea?
>
> Muchas gracias
>
> Marco Padierna
>
>
>


Respuesta Responder a este mensaje
#3 marco
18/08/2004 - 22:55 | Informe spam
a ver, despues de buscar una herramienta en este foro, consegui el script:

CREATETABLE[dbo].[solicitudes](
[solicitud_id][int]IDENTITY(1,1)NOTNULL,
[tipo][int]NULL,
[tipo_solicitud_id][int]NULL,
[documentos][int]NULL,
[solicitante_id][int]NULL,
[dependencia_id][int]NULL,
[adscripcion_id][int]NULL,
[puesto][int]NULL,
[user_id][int]NULL,
[status][smallint]NULL,
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]

Como se ve, no tiene complicaciones...

mp

"Gregorio López Rojo" escribió en el mensaje
news:
Ayudaría el que pases el script de la tabla.

Respuesta Responder a este mensaje
#4 Gustavo Larriera [MVP]
18/08/2004 - 23:41 | Informe spam
Lo ejecuto sin problemas en el Query Analyzer:

USE tempdb
GO

CREATE TABLE [dbo].[solicitudes] (
[solicitud_id] [int] IDENTITY (1,1) NOT NULL,
[tipo_solicitud_id] [int] NULL,
[tipo] [int] NULL,
[documentos] [int] NULL,
[solicitante_id] [int] NULL,
[dependencia_id] [int] NULL,
[adscripcion_id] [int] NULL,
[puesto] [int] NULL,
[user_id] [int] NULL,
[status] [smallint]
)
GO

CREATE PROCEDURE spi_solicitudes
@solicitud_id int,
@adscripcion_id int = 0,
@dependencia_id int,
@documentos int = 0,
@puesto int = 0,
@solicitante_id int,
@status int = 1,
@tipo int = 0,
@tipo_solicitud_id int = 0,
@user_id int = 0,
@new_id int output
AS

INSERT INTO solicitudes(
adscripcion_id,
dependencia_id,
documentos,
puesto,
solicitante_id,
status,
tipo,
tipo_solicitud_id,
user_id)
VALUES(
@adscripcion_id,
@dependencia_id,
@documentos,
@puesto,
@solicitante_id,
@status,
@tipo,
@tipo_solicitud_id,
@user_id)
IF @@Error <> 0
RETURN -1
ELSE
SET @new_id = @@IDENTITY
RETURN @new_id

GO

EXEC spi_solicitudes
@solicitud_id=1,
@dependencia_id = 1,
@solicitante_id = 1,
@new_id = 1



Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"marco" <mpadierna h ot m_a.il dot c om> wrote in message
news:%
a ver, despues de buscar una herramienta en este foro, consegui el script:

CREATETABLE[dbo].[solicitudes](
[solicitud_id][int]IDENTITY(1,1)NOTNULL,
[tipo][int]NULL,
[tipo_solicitud_id][int]NULL,
[documentos][int]NULL,
[solicitante_id][int]NULL,
[dependencia_id][int]NULL,
[adscripcion_id][int]NULL,
[puesto][int]NULL,
[user_id][int]NULL,
[status][smallint]NULL,
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]

Como se ve, no tiene complicaciones...

mp

"Gregorio López Rojo" escribió en el mensaje
news:
Ayudaría el que pases el script de la tabla.







email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida