87 lines
3.6 KiB
Transact-SQL
87 lines
3.6 KiB
Transact-SQL
-- select a=[C6MartPeriodico].[getDESPRODCAT]('04863590',NULL)
|
|
CREATE FUNCTION [C6MartPeriodico].[getDESPRODCAT]
|
|
(
|
|
@CODPROD as varchar(8),
|
|
@SUBPROD as varchar(5)
|
|
)
|
|
RETURNS varchar(128)
|
|
AS
|
|
BEGIN
|
|
DECLARE @DESPROD as varchar(128)
|
|
DECLARE @conta as smallint
|
|
SET @DESPROD = ''
|
|
if @SUBPROD is null
|
|
BEGIN
|
|
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL AND visibilita = 1
|
|
IF @conta = 1
|
|
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL AND visibilita = 1
|
|
ELSE
|
|
BEGIN
|
|
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1
|
|
IF @conta = 1
|
|
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1
|
|
ELSE
|
|
BEGIN
|
|
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL
|
|
IF @conta = 1
|
|
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO IS NULL
|
|
ELSE
|
|
BEGIN
|
|
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD
|
|
IF @conta = 1
|
|
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD
|
|
END
|
|
END
|
|
END
|
|
END
|
|
ELSE
|
|
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND visibilita = 1
|
|
IF @conta = 1
|
|
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND visibilita = 1
|
|
ELSE
|
|
BEGIN
|
|
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1
|
|
IF @conta = 1
|
|
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD AND visibilita = 1
|
|
ELSE
|
|
BEGIN
|
|
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD
|
|
IF @conta = 1
|
|
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD
|
|
ELSE
|
|
BEGIN
|
|
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD
|
|
IF @conta = 1
|
|
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @CODPROD
|
|
ELSE
|
|
BEGIN
|
|
IF @SUBPROD in ('L191', 'L192','V301','V302')
|
|
BEGIN
|
|
SELECT @conta = count(nomeProdotto) FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND CODISIN IS NULL
|
|
IF @conta = 1
|
|
SELECT @DESPROD = nomeProdotto FROM c6StagingPeriodico.RP_CatalogoProdotti
|
|
WHERE CODINTERNO = @CODPROD AND CODSOTTOPRODOTTO = @SUBPROD AND CODISIN IS NULL
|
|
END
|
|
END
|
|
END
|
|
END
|
|
END
|
|
RETURN @DESPROD
|
|
END |