SQL Server - necesito ayuda urgenteee

 
Vista:

necesito ayuda urgenteee

Publicado por nelida (5 intervenciones) el 23/05/2007 05:50:16
***EL UNICO ERROR QUE ME DICE ES QUE LA COLUMNA CODLOCALIDAD NO ES VALIDO Y NO ENTIENDO XQ??????????
CREATE PROCEDURE Sp_InsLocalidad

@Descripción char(30),
@Cpostal integer,
@CodProv integer
AS
DECLARE @CodLocalidad INT
set @CodLocalidad=0
IF (SELECT Max(CodLocalidad)+1 FROM Localidades)IS NULL
BEGIN
SET @CodLocalidad=1
END
ELSE
BEGIN
SET @CodLocalidad= (SELECT Max(CodLocalidad)+1 FROM Localidades)
INSERT INTO Localidades
VALUES (@CodLocalidad, @Descripción, @Cpostal, @CodProv)
END
SELECT @CodLocalidad
DECLARE @RET INT
SET @RET=0
GO
REATE PROCEDURE Sp_DelLocalidad
@CodLocalidad INT
AS
DECLARE @Ret INT
SET @RET=0
IF NOT (SELECT CodLocalidad FROM Localidades WHERE CodLocalidad=@CodLocalidad) IS NULL
BEGIN
DELETE
FROM Localidades
WHERE CodLocalida=@CodLocalidad
END
ELSE
BEGIN
SET @Ret=1
END
SELECT @Ret
GO
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

RE:necesito ayuda urgenteee

Publicado por Isaías (3308 intervenciones) el 23/05/2007 19:56:13
Nelida

Te mando el codigo mejorado

CREATE PROCEDURE Sp_InsLocalidad
@Descripción char(30),
@Cpostal integer,
@CodProv integer
AS
BEGIN
SET NOCOUNT ON
INSERT INTO Localidades
SELECT ISNULL(Max(CodLocalidad)+ 1, 1), @Descripción, @Cpostal, @CodProv
FROM Localidades
SELECT ISNULL(Max(CodLocalidad)+ 1, 1) FROM Localidades
-- Ignoro que papel juega la variable @RET
DECLARE @RET INT
SET @RET=0
END

GO

CREATE PROCEDURE Sp_DelLocalidad
@CodLocalidad INT
AS
BEGIN
SET NOCOUNT ON
DECLARE @Ret INT
SET @RET=0
/* Si en esta rutina, quieres borra algo si existe
IF NOT (SELECT CodLocalidad FROM Localidades WHERE CodLocalidad=@CodLocalidad) IS NULL
BEGIN
DELETE
FROM Localidades
WHERE CodLocalida=@CodLocalidad
*/
DELETE
FROM Localidades
WHERE CodLocalida=@CodLocalidad
SET @RET = @@ROWCOUNT
-- Si @RET > 0, borro el registro
SELECT @Ret
END
GO
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

RE:necesito ayuda urgenteee

Publicado por Isaías (3308 intervenciones) el 23/05/2007 19:57:23
Observacion de ultimo momento.

Los STORE PROCEDURE's, por rendimiento NUNCA deben nombrarse con SP_, cambiale la inicial por USP o algo similiar.
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

RE:GRACIAS

Publicado por NELIDA (5 intervenciones) el 24/05/2007 00:38:14
ISAIAS MUCHAS GRACIAS, ESTOY RE PERDIDA CON ESTO, Y ESPERO PUEDA TERMINAR, PERO GRACIAS POR TODO.NELIDA
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

RE:GRACIAS

Publicado por Isaías (3308 intervenciones) el 24/05/2007 00:56:20
En lo que pueda ayudar, cuenta conmigo.
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

problema

Publicado por Nelida (5 intervenciones) el 24/05/2007 17:21:43
Isaias soy yo de nuevo, sabes que en todos los procedimientos almacenados que le le hago insert y delete, me tira un error; la columna que lo declaro; DECLARE @CodLocalidades INT no es una columna valida y que lo necesito declarar, y ya no se mas como arreglarlo, es del mismo procedimiento que yo te habia enviado anteriormente, espero me respondas. gracias.nelida
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

RE:problema

Publicado por Isaías (3308 intervenciones) el 25/05/2007 20:50:09
Nelida

Habia un error en el codigo que te mande, lo vuelvo a enviar, no entiendo bien tu pregunta, enviame el TEXTO INTEGRO del error:

CREATE PROCEDURE Sp_InsLocalidad
@Descripción char(30),
@Cpostal integer,
@CodProv integer
AS
BEGIN
SET NOCOUNT ON
INSERT INTO Localidades
SELECT ISNULL(Max(CodLocalidad)+ 1, 1), @Descripción, @Cpostal, @CodProv
FROM Localidades
-- Ignoro que papel juega la variable @RET
DECLARE @RET INT
SET @RET=0
END

GO

CREATE PROCEDURE Sp_DelLocalidad
@CodLocalidad INT
AS
BEGIN
SET NOCOUNT ON
DECLARE @Ret INT
SET @RET=0
/* Si en esta rutina, quieres borra algo si existe
IF NOT (SELECT CodLocalidad FROM Localidades WHERE CodLocalidad=@CodLocalidad) IS NULL
BEGIN
DELETE
FROM Localidades
WHERE CodLocalida=@CodLocalidad
*/
DELETE
FROM Localidades
WHERE CodLocalida=@CodLocalidad
SET @RET = @@ROWCOUNT
-- Si @RET > 0, borro el registro
SELECT @Ret
END
GO
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