Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
9| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 30 | |
| @country_code_iso2 | varchar | 2 | |
| @country_code_iso3 | varchar | 3 | |
| @activo | bit | 1 | |
| @country_name | varchar | 50 | |
| @codigo_idioma | varchar | 3 | |
| @nacionalidad | varchar | 150 | |
| @monedaCode | varchar | 3 | |
| @nomMoneda | varchar | 150 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- Create the stored procedure in the specified schema
CREATE OR ALTER PROCEDURE dbo.backend_country
@accion VARCHAR(30),
@country_code_iso2 VARCHAR(2)=NULL,
@country_code_iso3 VARCHAR(3)=NULL,
@activo BIT=0,
@country_name VARCHAR(50)=NULL,
@codigo_idioma VARCHAR(3)=NULL,
@nacionalidad VARCHAR(150)=NULL,
@monedaCode VARCHAR(3)=NULL,
@nomMoneda VARCHAR(150)=NULL
-- add more stored procedure parameters here
AS
BEGIN
DECLARE @v_accion VARCHAR(30) = UPPER(@accion);
DECLARE @v_country_code_iso2 VARCHAR(2) = UPPER(@country_code_iso2);
DECLARE @v_country_code_iso3 VARCHAR(3) = UPPER(@country_code_iso3);
-- Seleccionar los registros activos solo
IF ( @v_accion='SELECCIONAR_ACTIVO' )
BEGIN
SELECT
country_code,
iso3,
country_name,
codigo_idioma,
se_usa,
nacionalidad
FROM country
WHERE se_usa=1
ORDER BY country_name ASC;
--
RETURN;
END
-- Alta de un pais nuevo
IF ( @v_accion='ALTA' )
BEGIN
INSERT INTO country
(
country_code,
iso3,
country_name,
se_usa,
nacionalidad,
codigo_idioma
)
VALUES
(
@v_country_code_iso2,
@v_country_code_iso3,
@country_name,
@activo,
@nacionalidad,
@codigo_idioma
);
--AGREGAMOS LA MONEDA
if((@monedaCode IS NOT NULL AND @monedaCode <> '') AND (@nomMoneda IS NOT NULL AND @nomMoneda <>''))
BEGIN
INSERT INTO monedas(moneda, nombre_moneda, country_code) VALUES (@monedaCode, @nomMoneda, @v_country_code_iso2)
end
--
SELECT
country_code,
iso3,
country_name,
se_usa,
nacionalidad,
codigo_idioma
FROM country
WHERE country_code=@v_country_code_iso2;
--
RETURN;
END
-- Actividad del registro de un pais
IF ( @v_accion='ESTADO' )
BEGIN
UPDATE country SET se_usa=@activo
WHERE country_code=@v_country_code_iso2;
--
RETURN;
END
-- Actualizar un el registro de un pais
IF ( @v_accion='ACTUALIZAR' )
BEGIN
UPDATE country SET
iso3=@v_country_code_iso3,
country_name=@country_name,
codigo_idioma=@codigo_idioma,
nacionalidad=@nacionalidad
WHERE country_code=@v_country_code_iso2;
--actualizamos la moneda----------------------------------------------------------------------------------------------
if((@monedaCode IS NOT NULL AND @monedaCode <> '') AND (@nomMoneda IS NOT NULL AND @nomMoneda <>''))
BEGIN
if((SELECT COUNT(*) from country c INNER join monedas m on m.country_code = c.country_code where c.country_code = @v_country_code_iso2) > 0 )
BEGIN
update monedas set moneda = @monedaCode , nombre_moneda = @nomMoneda where country_code = @v_country_code_iso2
end
ELSE
begin
INSERT INTO monedas(moneda, nombre_moneda, country_code) VALUES (@monedaCode, @nomMoneda, @v_country_code_iso2)
END
end
---------------------------------------------------------------------------------------------------------------------
RETURN;
END
-- Seleccionar un registro por ISO3
IF ( @v_accion='SELECCIONAR_ISO3' )
BEGIN
SELECT
country_code,
iso3,
country_name,
codigo_idioma,
se_usa,
nacionalidad
FROM country
WHERE iso3=@v_country_code_iso3;
--
RETURN;
END
-- Seleccionar un registro por ISO2
IF ( @v_accion='SELECCIONAR_ISO2' )
BEGIN
SELECT
country_code,
iso3,
country_name,
codigo_idioma,
se_usa,
nacionalidad
FROM country
WHERE country_code=@v_country_code_iso2;
--
RETURN;
END
END
GO
GO
-- Create the stored procedure in the specified schema
CREATE OR ALTER PROCEDURE dbo.backend_country
@accion VARCHAR(30),
@country_code_iso2 VARCHAR(2)=NULL,
@country_code_iso3 VARCHAR(3)=NULL,
@activo BIT=0,
@country_name VARCHAR(50)=NULL,
@codigo_idioma VARCHAR(3)=NULL,
@nacionalidad VARCHAR(150)=NULL,
@monedaCode VARCHAR(3)=NULL,
@nomMoneda VARCHAR(150)=NULL
-- add more stored procedure parameters here
AS
BEGIN
DECLARE @v_accion VARCHAR(30) = UPPER(@accion);
DECLARE @v_country_code_iso2 VARCHAR(2) = UPPER(@country_code_iso2);
DECLARE @v_country_code_iso3 VARCHAR(3) = UPPER(@country_code_iso3);
-- Seleccionar los registros activos solo
IF ( @v_accion='SELECCIONAR_ACTIVO' )
BEGIN
SELECT
country_code,
iso3,
country_name,
codigo_idioma,
se_usa,
nacionalidad
FROM country
WHERE se_usa=1
ORDER BY country_name ASC;
--
RETURN;
END
-- Alta de un pais nuevo
IF ( @v_accion='ALTA' )
BEGIN
INSERT INTO country
(
country_code,
iso3,
country_name,
se_usa,
nacionalidad,
codigo_idioma
)
VALUES
(
@v_country_code_iso2,
@v_country_code_iso3,
@country_name,
@activo,
@nacionalidad,
@codigo_idioma
);
--AGREGAMOS LA MONEDA
if((@monedaCode IS NOT NULL AND @monedaCode <> '') AND (@nomMoneda IS NOT NULL AND @nomMoneda <>''))
BEGIN
INSERT INTO monedas(moneda, nombre_moneda, country_code) VALUES (@monedaCode, @nomMoneda, @v_country_code_iso2)
end
--
SELECT
country_code,
iso3,
country_name,
se_usa,
nacionalidad,
codigo_idioma
FROM country
WHERE country_code=@v_country_code_iso2;
--
RETURN;
END
-- Actividad del registro de un pais
IF ( @v_accion='ESTADO' )
BEGIN
UPDATE country SET se_usa=@activo
WHERE country_code=@v_country_code_iso2;
--
RETURN;
END
-- Actualizar un el registro de un pais
IF ( @v_accion='ACTUALIZAR' )
BEGIN
UPDATE country SET
iso3=@v_country_code_iso3,
country_name=@country_name,
codigo_idioma=@codigo_idioma,
nacionalidad=@nacionalidad
WHERE country_code=@v_country_code_iso2;
--actualizamos la moneda----------------------------------------------------------------------------------------------
if((@monedaCode IS NOT NULL AND @monedaCode <> '') AND (@nomMoneda IS NOT NULL AND @nomMoneda <>''))
BEGIN
if((SELECT COUNT(*) from country c INNER join monedas m on m.country_code = c.country_code where c.country_code = @v_country_code_iso2) > 0 )
BEGIN
update monedas set moneda = @monedaCode , nombre_moneda = @nomMoneda where country_code = @v_country_code_iso2
end
ELSE
begin
INSERT INTO monedas(moneda, nombre_moneda, country_code) VALUES (@monedaCode, @nomMoneda, @v_country_code_iso2)
END
end
---------------------------------------------------------------------------------------------------------------------
RETURN;
END
-- Seleccionar un registro por ISO3
IF ( @v_accion='SELECCIONAR_ISO3' )
BEGIN
SELECT
country_code,
iso3,
country_name,
codigo_idioma,
se_usa,
nacionalidad
FROM country
WHERE iso3=@v_country_code_iso3;
--
RETURN;
END
-- Seleccionar un registro por ISO2
IF ( @v_accion='SELECCIONAR_ISO2' )
BEGIN
SELECT
country_code,
iso3,
country_name,
codigo_idioma,
se_usa,
nacionalidad
FROM country
WHERE country_code=@v_country_code_iso2;
--
RETURN;
END
END
GO
Depends On
2Used By
No items found