Bases de Datos - ayuda con estos ejercicios porfavor

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 7 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

ayuda con estos ejercicios porfavor

Publicado por HEINER (1 intervención) el 02/06/2020 18:45:37
ayuda con estos ejercicios porfavor
1
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil

ayuda con estos ejercicios porfavor

Publicado por anonymous (41 intervenciones) el 09/06/2020 22:14:12
Podría ser así, pues hay algunos vacíos en la formulación de las preguntas...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
CREATE FUNCTION [dbo].[Retornar_Codigo](
     @p_Codigo AS CHAR(10))
 
RETURNS  CHAR(10)
AS
BEGIN
     DECLARE @Valor_Retorno AS CHAR(10)
     DECLARE @Valor_Intermedio AS VARCHAR(6)
     DECLARE @Valor_Esperado as varchar(10)
     DECLARE @Maximo as int
 
SELECT @Valor_Intermedio = CONVERT(varchar(4), YEAR(DATE)) + SUBSTRING(C.FirstName,1,1)
FROM Rental R
INNER JOIN Client C ON C.Client_Key = R.Client_Key
WHERE C.Client_Key = @p_Codigo
 
SET @Maximo = (SELECT (MAX(CLIENT_KEY) +1) FROM CLIENT)
SET @Valor_Esperado = (SELECT RIGHT('0000' + @Maximo, 5))
SET @Valor_Retorno =  @Valor_Intermedio + @Valor_Esperado
     RETURN @Valor_Retorno
 END
 
CREATE PROCEDURE SPR_D_Registro
@p_CONDICION  	INT,
@p_RESULTADO    INT OUT
 
AS
    DECLARE @DatoExiste INT
    SET @DatoExiste = 0
    SET @p_RESULTADO = 0
 
 
BEGIN TRY
       SET @DatoExiste = (SELECT TOP 1 CLIENT_KEY FROM CLIENT WHERE CLIENT_KEY = @p_CONDICION)
			 IF (@DatoExiste <> 0)
				 BEGIN
					  SET @p_RESULTADO = 1
				 END
			 ELSE
				 BEGIN
					  DELETE FROM CLIENT WHERE CLIENT_KEY = @p_CONDICION
				 END
 END TRY
 
BEGIN CATCH
      SET @P_RESULTADO = ERROR_NUMBER()
      RETURN @P_RESULTADO
END CATCH
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

ayuda con estos ejercicios porfavor

Publicado por anonymous (41 intervenciones) el 10/06/2020 02:08:39
==========Correción===========

Me equivoqué en el nombre de la columna es ClientKey en vez de Client_Key, quedan así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
CREATE FUNCTION [dbo].[Retornar_Codigo](
@p_Codigo AS CHAR(10))
 
RETURNS CHAR(10)
AS
BEGIN
DECLARE @Valor_Retorno AS CHAR(10)
DECLARE @Valor_Intermedio AS VARCHAR(6)
DECLARE @Valor_Esperado as varchar(10)
DECLARE @Maximo as int
 
SELECT @Valor_Intermedio = CONVERT(varchar(4), YEAR(DATE)) + SUBSTRING(C.FirstName,1,1)
FROM Rental R
INNER JOIN Client C ON C.ClientKey = R.ClientKey
WHERE C.ClientKey = @p_Codigo
 
SET @Maximo = (SELECT (MAX(CLIENTKEY) +1) FROM CLIENT)
SET @Valor_Esperado = (SELECT RIGHT('0000' + @Maximo, 5))
SET @Valor_Retorno = @Valor_Intermedio + @Valor_Esperado
RETURN @Valor_Retorno
END
 
CREATE PROCEDURE SPR_D_Registro
@p_CONDICION INT,
@p_RESULTADO INT OUT
 
AS
DECLARE @DatoExiste INT
SET @DatoExiste = 0
SET @p_RESULTADO = 0
 
 
BEGIN TRY
SET @DatoExiste = (SELECT TOP 1 CLIENTKEY FROM RENTAL WHERE CLIENT_KEY = @p_CONDICION)
IF (@DatoExiste <> 0)
BEGIN
SET @p_RESULTADO = 1
END
ELSE
BEGIN
DELETE FROM CLIENT WHERE CLIENTKEY = @p_CONDICION
END
END TRY
 
BEGIN CATCH
SET @P_RESULTADO = ERROR_NUMBER()
RETURN @P_RESULTADO
END CATCH
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