Principales respuestas
ERROR CON TABLE VALUED PARAMETER

Pregunta
-
saludos, tengo este error como puedo corregirlo
Mensaje 137, nivel 16, estado 1, procedimiento FN_CLIMATIZACION_EQUIPO, línea 127 [línea de inicio de lote 7]
Must declare the scalar variable "@ExcelTVP".Este es mi código
ALTER FUNCTION [dbo].[FN_CLIMATIZACION_EQUIPO] ( @ExcelTVP TVP READONLY )......
FROM [dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO] (@ExcelTVP)
y la función
[dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO]
espera recibir un parámetro de ese tipo
- Editado Eduardo_developer lunes, 28 de noviembre de 2016 13:38
Respuestas
-
Ya empiezan a votarse entre ustedes asi que mejor cierro el hilo, la solución fue crearme otra base de datos y ejecutar las queries que ya tenia y todo corrio perfecto , me queda el misterio de saber porque no funcionaron en la otra BD,
- Marcado como respuesta Eduardo_developer lunes, 28 de noviembre de 2016 20:46
Todas las respuestas
-
Pudieras postear el codigo completo?
- creacion del tipo de dato de usuario
- funcion
- variable tipo creado en el primer punto
- llamada a la funcion
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas -
TIPO CREADO
CREATE TYPE [dbo].[TVP] AS TABLE( [ID] [int] NULL, [HTS Code] [varchar](250) NULL, [HTS Code Description] [varchar](250) NULL, [Custom] [varchar](250) NULL, [DUA] [varchar](250) NULL, [Date] [datetime] NULL, [ETA] [datetime] NULL, [Manifiesto] [varchar](100) NULL, [Tax ID] [bigint] NULL, [Importer] [varchar](250) NULL, [Exporter] [varchar](250) NULL, [Gross kg] [decimal](18, 3) NULL, [Net kg] [decimal](18, 3) NULL, [Qty 1] [decimal](18, 3) NULL, [Unit 1] [varchar](250) NULL, [Qty 2] [decimal](18, 3) NULL, [Unit 2] [varchar](250) NULL, [U$ FOB Tot] [decimal](18, 3) NULL, [U$ Freight Tot] [decimal](18, 3) NULL, [U$ CFR Tot] [decimal](18, 3) NULL, [U$ Insurance Tot] [decimal](18, 3) NULL, [U$ CIF Tot] [decimal](18, 3) NULL, [U$ FOB Unit 1] [decimal](18, 3) NULL, [U$ CFR Unit 1] [decimal](18, 3) NULL, [U$ CIF Unit 1] [decimal](18, 3) NULL, [U$ (CIF + Taxes) Unit 1] [decimal](18, 3) NULL, [U$ FOB Unit 2] [decimal](18, 3) NULL, [U$ CFR Unit 2] [decimal](18, 3) NULL, [U$ CIF Unit 2] [decimal](18, 3) NULL, [U$ (CIF + Taxes) Unit 2] [decimal](18, 3) NULL, [Origin Country] [varchar](250) NULL, [Acquisition Country] [varchar](250) NULL, [Loading Port] [varchar](250) NULL, [Via] [varchar](250) NULL, [Transport] [varchar](250) NULL, [Custom Agent] [varchar](250) NULL, [Bank] [varchar](250) NULL, [Warehouse] [varchar](250) NULL, [Status] [varchar](250) NULL, [Commercial Description] [varchar](max) NULL, [Ad Valorem] [decimal](18, 3) NULL, [IGV] [decimal](18, 3) NULL, [ISC] [decimal](18, 3) NULL, [IPM] [decimal](18, 3) NULL, [Specific Duties] [decimal](18, 3) NULL, [SurTax] [decimal](18, 3) NULL, [AntiDumping] [decimal](18, 3) NULL ) GO
FUNCION DE EQUIPO
CREATE FUNCTION [dbo].[FN_CLIMATIZACION_EQUIPO] ( @ExcelTVP TVP READONLY ) RETURNS TABLE AS RETURN SELECT EQUIPO=CASE.... FROM [dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO] (@ExcelTVP)
FUNCION SUBCLASE
CREATE FUNCTION [dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO] ( @ExcelTVP TVP READONLY ) RETURNS TABLE AS RETURN SELECT * FROM ( SELECT A.*,FECHA=A.[date],MES=Month(A.[date]), [SUB-CLASE]=CASE.... FROM @ExcelTVP A )D
- Editado Eduardo_developer lunes, 28 de noviembre de 2016 14:00
-
Chequea si estas siguiendo los pasos de este script.
CREATE TYPE dbo.tvp AS TABLE ( id int NOT NULL PRIMARY KEY ); GO CREATE FUNCTION dbo.ufn_test_tvp ( @p1 dbo.tvp READONLY ) RETURNs table AS RETURN ( SELECT A.id FROM @p1 AS A ) GO DECLARE @t tvp; INSERT INTO @t (id) VALUES (1), (2), (3); SELECT * FROM dbo.ufn_test_tvp(@t) AS T; GO DROP FUNCTION dbo.ufn_test_tvp; GO DROP TYPE dbo.tvp; GO
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas -
Hola lo que no hago es declarar el tipo @tipo e insertar datos, porque viene como un parametro desde la otra funcion
esto si me funciona
CREATE FUNCTION [dbo].[FN_CLIMATIZACION_EQUIPO] ( @FechInicio datetime,@FechaFin datetime,@EFA VARCHAR(20) ) .... FROM [dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO] (@FechInicio ,@FechaFin ,@EFA )
- Editado Eduardo_developer lunes, 28 de noviembre de 2016 14:21
-
Si no pones un ejemplo completo que podamos probar de nuestro lado entonces sera dificil identificar donde esta el error.
Aca te dejo un ejemplo de una funcion con TVP pasando el parametro a otra funcion.
CREATE TYPE dbo.tvp AS TABLE ( id int NOT NULL PRIMARY KEY ); GO CREATE FUNCTION dbo.ufn_pares_tvp ( @p1 dbo.tvp READONLY ) RETURNs table AS RETURN ( SELECT id FROM @p1 WHERE id % 2 = 0 ) GO CREATE FUNCTION dbo.ufn_test_tvp ( @p1 dbo.tvp READONLY ) RETURNs table AS RETURN ( SELECT id * 10 AS new_id FROM dbo.ufn_pares_tvp(@p1) ) GO DECLARE @t tvp; INSERT INTO @t (id) VALUES (1), (2), (3), (4), (5); SELECT * FROM @t; SELECT * FROM dbo.ufn_pares_tvp(@t) AS T; SELECT * FROM dbo.ufn_test_tvp(@t) AS T; GO DROP FUNCTION dbo.ufn_test_tvp,dbo.ufn_pares_tvp; GO DROP TYPE dbo.tvp; GO
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas -
-
Probastes declarando una variable tipo TVP, insertar valores y llamar estas funciones pasando la variable como parametro?
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas -
Probastes declarando una variable tipo TVP, insertar valores y llamar estas funciones pasando la variable como parametro?
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntasEn donde puedo declarar esta variable A QUE ALTURA
CREATE FUNCTION [dbo].[FN_CLIMATIZACION_EQUIPO] ( @ETVP TVP_CLIMATIZACION READONLY ) RETURNS TABLE AS RETURN SELECT *, ...
FROM [dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO] (@ExcelTVP)
- Editado Eduardo_developer lunes, 28 de noviembre de 2016 15:39
-
Trata primero en SSMS y crea un script como el que te pase.
CREATE TYPE [dbo].[TVP] AS TABLE( [ID] [int] NULL, [HTS Code] [varchar](250) NULL, [HTS Code Description] [varchar](250) NULL, [Custom] [varchar](250) NULL, [DUA] [varchar](250) NULL, [Date] [datetime] NULL, [ETA] [datetime] NULL, [Manifiesto] [varchar](100) NULL, [Tax ID] [bigint] NULL, [Importer] [varchar](250) NULL, [Exporter] [varchar](250) NULL, [Gross kg] [decimal](18, 3) NULL, [Net kg] [decimal](18, 3) NULL, [Qty 1] [decimal](18, 3) NULL, [Unit 1] [varchar](250) NULL, [Qty 2] [decimal](18, 3) NULL, [Unit 2] [varchar](250) NULL, [U$ FOB Tot] [decimal](18, 3) NULL, [U$ Freight Tot] [decimal](18, 3) NULL, [U$ CFR Tot] [decimal](18, 3) NULL, [U$ Insurance Tot] [decimal](18, 3) NULL, [U$ CIF Tot] [decimal](18, 3) NULL, [U$ FOB Unit 1] [decimal](18, 3) NULL, [U$ CFR Unit 1] [decimal](18, 3) NULL, [U$ CIF Unit 1] [decimal](18, 3) NULL, [U$ (CIF + Taxes) Unit 1] [decimal](18, 3) NULL, [U$ FOB Unit 2] [decimal](18, 3) NULL, [U$ CFR Unit 2] [decimal](18, 3) NULL, [U$ CIF Unit 2] [decimal](18, 3) NULL, [U$ (CIF + Taxes) Unit 2] [decimal](18, 3) NULL, [Origin Country] [varchar](250) NULL, [Acquisition Country] [varchar](250) NULL, [Loading Port] [varchar](250) NULL, [Via] [varchar](250) NULL, [Transport] [varchar](250) NULL, [Custom Agent] [varchar](250) NULL, [Bank] [varchar](250) NULL, [Warehouse] [varchar](250) NULL, [Status] [varchar](250) NULL, [Commercial Description] [varchar](max) NULL, [Ad Valorem] [decimal](18, 3) NULL, [IGV] [decimal](18, 3) NULL, [ISC] [decimal](18, 3) NULL, [IPM] [decimal](18, 3) NULL, [Specific Duties] [decimal](18, 3) NULL, [SurTax] [decimal](18, 3) NULL, [AntiDumping] [decimal](18, 3) NULL ) GO CREATE FUNCTION [dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO] ( @ExcelTVP TVP READONLY ) RETURNS TABLE AS RETURN ( SELECT * FROM @ExcelTVP WHERE Status = 'ready' ) GO CREATE FUNCTION [dbo].[FN_CLIMATIZACION_EQUIPO] ( @ExcelTVP TVP READONLY ) RETURNS TABLE AS RETURN ( SELECT * FROM [dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO] (@ExcelTVP) ) GO DECLARE @T dbo.TVP; INSERT INTO @T ( ID, [HTS Code], [HTS Code Description], Custom, DUA, Date, ETA, Manifiesto, [Tax ID], Importer, Exporter, [Gross kg], [Net kg], [Qty 1], [Unit 1], [Qty 2], [Unit 2], [U$ FOB Tot], [U$ Freight Tot], [U$ CFR Tot], [U$ Insurance Tot], [U$ CIF Tot], [U$ FOB Unit 1], [U$ CFR Unit 1], [U$ CIF Unit 1], [U$ (CIF + Taxes) Unit 1], [U$ FOB Unit 2], [U$ CFR Unit 2], [U$ CIF Unit 2], [U$ (CIF + Taxes) Unit 2], [Origin Country], [Acquisition Country], [Loading Port], Via, Transport, [Custom Agent], Bank, Warehouse, Status, [Commercial Description], [Ad Valorem], IGV, ISC, IPM, [Specific Duties], SurTax, AntiDumping ) VALUES ( 1, -- ID - int '', -- HTS Code - varchar(250) '', -- HTS Code Description - varchar(250) '', -- Custom - varchar(250) '', -- DUA - varchar(250) GETDATE(), -- Date - datetime GETDATE(), -- ETA - datetime '', -- Manifiesto - varchar(100) 0, -- Tax ID - bigint '', -- Importer - varchar(250) '', -- Exporter - varchar(250) NULL, -- Gross kg - decimal NULL, -- Net kg - decimal NULL, -- Qty 1 - decimal '', -- Unit 1 - varchar(250) NULL, -- Qty 2 - decimal '', -- Unit 2 - varchar(250) NULL, -- U$ FOB Tot - decimal NULL, -- U$ Freight Tot - decimal NULL, -- U$ CFR Tot - decimal NULL, -- U$ Insurance Tot - decimal NULL, -- U$ CIF Tot - decimal NULL, -- U$ FOB Unit 1 - decimal NULL, -- U$ CFR Unit 1 - decimal NULL, -- U$ CIF Unit 1 - decimal NULL, -- U$ (CIF + Taxes) Unit 1 - decimal NULL, -- U$ FOB Unit 2 - decimal NULL, -- U$ CFR Unit 2 - decimal NULL, -- U$ CIF Unit 2 - decimal NULL, -- U$ (CIF + Taxes) Unit 2 - decimal '', -- Origin Country - varchar(250) '', -- Acquisition Country - varchar(250) '', -- Loading Port - varchar(250) '', -- Via - varchar(250) '', -- Transport - varchar(250) '', -- Custom Agent - varchar(250) '', -- Bank - varchar(250) '', -- Warehouse - varchar(250) 'ready', -- Status - varchar(250) '', -- Commercial Description - varchar(max) NULL, -- Ad Valorem - decimal NULL, -- IGV - decimal NULL, -- ISC - decimal NULL, -- IPM - decimal NULL, -- Specific Duties - decimal NULL, -- SurTax - decimal NULL -- AntiDumping - decimal ), ( 2, -- ID - int '', -- HTS Code - varchar(250) '', -- HTS Code Description - varchar(250) '', -- Custom - varchar(250) '', -- DUA - varchar(250) GETDATE(), -- Date - datetime GETDATE(), -- ETA - datetime '', -- Manifiesto - varchar(100) 0, -- Tax ID - bigint '', -- Importer - varchar(250) '', -- Exporter - varchar(250) NULL, -- Gross kg - decimal NULL, -- Net kg - decimal NULL, -- Qty 1 - decimal '', -- Unit 1 - varchar(250) NULL, -- Qty 2 - decimal '', -- Unit 2 - varchar(250) NULL, -- U$ FOB Tot - decimal NULL, -- U$ Freight Tot - decimal NULL, -- U$ CFR Tot - decimal NULL, -- U$ Insurance Tot - decimal NULL, -- U$ CIF Tot - decimal NULL, -- U$ FOB Unit 1 - decimal NULL, -- U$ CFR Unit 1 - decimal NULL, -- U$ CIF Unit 1 - decimal NULL, -- U$ (CIF + Taxes) Unit 1 - decimal NULL, -- U$ FOB Unit 2 - decimal NULL, -- U$ CFR Unit 2 - decimal NULL, -- U$ CIF Unit 2 - decimal NULL, -- U$ (CIF + Taxes) Unit 2 - decimal '', -- Origin Country - varchar(250) '', -- Acquisition Country - varchar(250) '', -- Loading Port - varchar(250) '', -- Via - varchar(250) '', -- Transport - varchar(250) '', -- Custom Agent - varchar(250) '', -- Bank - varchar(250) '', -- Warehouse - varchar(250) 'not ready', -- Status - varchar(250) '', -- Commercial Description - varchar(max) NULL, -- Ad Valorem - decimal NULL, -- IGV - decimal NULL, -- ISC - decimal NULL, -- IPM - decimal NULL, -- Specific Duties - decimal NULL, -- SurTax - decimal NULL -- AntiDumping - decimal ); SELECT * FROM @T; SELECT * FROM [dbo].[FN_CLIMATIZACION_EQUIPO](@T) AS T; GO --DROP FUNCTION [dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO], [dbo].[FN_CLIMATIZACION_EQUIPO]; --DROP TYPE dbo.TVP GO
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas
- Editado HunchbackMVP lunes, 28 de noviembre de 2016 16:08
- Propuesto como respuesta Edu Martinez lunes, 28 de noviembre de 2016 17:39
-
-
Chequea el post anterior. Ahi te puse un ejemplo completo con lo que nos has proporcionado.
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas -
Chequea el post anterior. Ahi te puse un ejemplo completo con lo que nos has proporcionado.
SI ,PERO ESTA DISTINTO TU DECLARAS Y LLENAS LA VARIABLE FUERA DE LA FUNCION , ESO NO ME AYUDA
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas -
Entonces como deseas llenar la variable, desde un procedimiento almacenado o desde una aplicacion de usuario?
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas -
-
esto no corre, el error ya dicho
Mensaje 137, nivel 16, estado 1, procedimiento FN_CLIMATIZACION_EQUIPO, línea 125 [línea de inicio de lote 7]
Must declare the scalar variable "@ExcelTVP".ALTER FUNCTION [dbo].[FN_CLIMATIZACION_EQUIPO] ( @ExcelTVP TVP READONLY --@FechInicio datetime,@FechaFin datetime,@EFA VARCHAR(20) ) RETURNS TABLE AS RETURN SELECT *, EQUIPO=CASE THEN 'EVAPORADORA' WHEN [Commercial Description] LIKE '%CHILLER%' THEN 'CHILLER' --01.SI(CONTAR.SI([@CommercialDescription];"*CHILLER*");"CHILLER"; WHEN [Commercial Description] LIKE '%WINDO%' THEN 'COMPLETO' --02.SI(CONTAR.SI([@CommercialDescription];"*WINDO*");"COMPLETO"; WHEN [Commercial Description] LIKE '%VENTANA%' THEN 'COMPLETO' --03.SI(CONTAR.SI([@CommercialDescription];"*VENTANA*");"COMPLETO"; WHEN [Commercial Description] LIKE '%ROOF%' THEN 'COMPLETO' --04.SI(CONTAR.SI([@CommercialDescription];"*ROOF*");"COMPLETO"; WHEN [Commercial Description] LIKE '%PAQUETE%' THEN 'COMPLETO' --05.SI(CONTAR.SI([@CommercialDescription];"*PAQUETE*");"COMPLETO"; WHEN [Commercial Description] LIKE '%OUTDOOR%INDOOR%' THEN 'COMPLETO' --06.SI(CONTAR.SI([@CommercialDescription];"*OUTDOOR*INDOOR*");"COMPLETO"; WHEN [Commercial Description] LIKE '%INDOOR%OUTDOOR*%' THEN 'COMPLETO' --07.SI(CONTAR.SI([@CommercialDescription];"*INDOOR*OUTDOOR*");"COMPLETO"; WHEN [Commercial Description] LIKE '%UNID%INTERNA%EXTERNA%' THEN 'COMPLETO' --08.SI(CONTAR.SI([@CommercialDescription];"*UNID*INTERNA*EXTERNA*");"COMPLETO"; WHEN [Commercial Description] LIKE '%UNID%EXTERNA%INTERNA%' THEN 'COMPLETO' --09.SI(CONTAR.SI([@CommercialDescription];"*UNID*EXTERNA*INTERNA*");"COMPLETO"; WHEN [Commercial Description] LIKE '%EQUIPO%COMPLET%' THEN 'COMPLETO' --10.SI(CONTAR.SI([@CommercialDescription];"*EQUIPO*COMPLET*");"COMPLETO"; WHEN [Commercial Description] LIKE '%UNID%INTERIOR%EXTERIOR%' THEN 'COMPLETO' --11.SI(CONTAR.SI([@CommercialDescription];"*UNID*INTERIOR*EXTERIOR*");"COMPLETO"; WHEN [Commercial Description] LIKE '%UNID%EXTERIOR%INTERIOR%' THEN 'COMPLETO' --12.SI(CONTAR.SI([@CommercialDescription];"*UNID*EXTERIOR*INTERIOR*");"COMPLETO"; WHEN [Commercial Description] LIKE '%EVAPORADORA%CONDENSADORA%' THEN 'COMPLETO' --13.SI(CONTAR.SI([@CommercialDescription];"*EVAPORADORA*CONDENSADORA*");"COMPLETO"; WHEN [Commercial Description] LIKE '%CONDENSADORA%EVAPORADORA%' THEN 'COMPLETO' --14.SI(CONTAR.SI([@CommercialDescription];"*CONDENSADORA*EVAPORADORA*");"COMPLETO"; WHEN [Commercial Description] LIKE '%UNID%INTERIOR%' THEN 'EVAPORADORA' --15.SI(CONTAR.SI([@CommercialDescription];"*UNID*INTERIOR*");"EVAPORADORA"; WHEN [Commercial Description] LIKE '%EVAPORADOR%FORZADA%' THEN 'EVAPORADORA-FORZADA' --16.SI(CONTAR.SI([@CommercialDescription];"*EVAPORADOR*FORZADA*");"EVAPORADORA-FORZADA"; WHEN [Commercial Description] LIKE '%EVAPORADOR%' THEN 'EVAPORADORA' --17.SI(CONTAR.SI([@CommercialDescription];"*EVAPORADOR*");"EVAPORADORA"; WHEN [Commercial Description] LIKE '%INDOOR%' THEN 'EVAPORADORA' --18.SI(CONTAR.SI([@CommercialDescription];"*INDOOR*");"EVAPORADORA"; WHEN [Commercial Description] LIKE '%EVAPORAC%' THEN 'EVAPORADORA' --19.SI(CONTAR.SI([@CommercialDescription];"*EVAPORAC*");"EVAPORADORA"; WHEN [Commercial Description] LIKE '%FAN%COIL%AGUA%' THEN 'EVAPORADORA' --20.SI(CONTAR.SI([@CommercialDescription];"*FAN*COIL*AGUA*");"EVAPORADORA"; WHEN [Commercial Description] LIKE '%FAN%COIL%CHILLED%' THEN 'EVAPORADORA' --21.SI(CONTAR.SI([@CommercialDescription];"*FAN*COIL*CHILLED*");"EVAPORADORA"; WHEN [Commercial Description] LIKE '%CASET%AGUA%' THEN 'EVAPORADORA' --22.SI(CONTAR.SI([@CommercialDescription];"*CASET*AGUA*");"EVAPORADORA"; WHEN [Commercial Description] LIKE '%CASSET%AGUA%' THEN 'EVAPORADORA' --23.SI(CONTAR.SI([@CommercialDescription];"*CASSET*AGUA*");"EVAPORADORA"; WHEN [Commercial Description] LIKE '%UNID%EXTERIOR%' THEN 'CONDENSADORA' --24.SI(CONTAR.SI([@CommercialDescription];"*UNID*EXTERIOR*");"CONDENSADORA"; WHEN [Commercial Description] LIKE '%CONDENSADOR%' THEN 'CONDENSADORA' --25.SI(CONTAR.SI([@CommercialDescription];"*CONDENSADOR*");"CONDENSADORA"; WHEN [Commercial Description] LIKE '%OUTDOOR%' THEN 'CONDENSADORA' --26.SI(CONTAR.SI([@CommercialDescription];"*OUTDOOR*");"CONDENSADORA"; WHEN [Commercial Description] LIKE '%CONDENSAC%' THEN 'CONDENSADORA' --27.SI(CONTAR.SI([@CommercialDescription];"*CONDENSAC*");"CONDENSADORA"; WHEN [Commercial Description] LIKE 'TARJETA ELECTRONICA%' THEN 'TARJETA ELECTRONICA' --28.SI(CONTAR.SI([@CommercialDescription];"TARJETA ELECTRONICA*");"TARJETA ELECTRONICA"; WHEN [Commercial Description] LIKE 'DISPLAY%' THEN 'PANTALLA ELECTRONICA' --29.SI(CONTAR.SI([@CommercialDescription];"DISPLAY*");"PANTALLA ELECTRONICA"; WHEN [Commercial Description] LIKE 'PANTALLA[ ]ELECTRO%' THEN 'PANTALLA ELECTRONICA' --30.SI(CONTAR.SI([@CommercialDescription];"PANTALLA ELECTRO*");"PANTALLA ELECTRONICA"; WHEN [Commercial Description] LIKE 'TARJETA[ ]PRINCIPAL%' THEN 'TARJETA PRINCIPAL' --31.SI(CONTAR.SI([@CommercialDescription];"TARJETA PRINCIPAL*");"TARJETA PRINCIPAL"; WHEN [Commercial Description] LIKE 'SENSOR%' THEN 'SENSORES' --32.SI(CONTAR.SI(AM564;"SENSOR*");"SENSORES"; WHEN [Commercial Description] LIKE '%REPUEST%' THEN 'REPUESTOS' --33.SI(CONTAR.SI([@CommercialDescription];"*REPUEST*");"REPUESTOS"; WHEN [Commercial Description] LIKE 'MOTOR%' THEN 'PANTALLA ELECTRONICA' --34.SI(CONTAR.SI([@CommercialDescription];"MOTOR*");"REPUESTOS"; WHEN [Commercial Description] LIKE 'PANTALLA[ ]ELECTRO%' THEN 'PANTALLA ELECTRONICA' --30.SI(CONTAR.SI([@CommercialDescription];"PANTALLA ELECTRO*");"PANTALLA ELECTRONICA"; WHEN [Commercial Description] LIKE 'TARJETA[ ]PRINCIPAL%' THEN 'TARJETA PRINCIPAL' --31.SI(CONTAR.SI([@CommercialDescription];"TARJETA PRINCIPAL*");"TARJETA PRINCIPAL"; WHEN [Commercial Description] LIKE 'SENSOR%' THEN 'SENSORES' --32.SI(CONTAR.SI(AM564;"SENSOR*");"SENSORES"; WHEN [Commercial Description] LIKE '%REPUEST%' THEN 'REPUESTOS' --33.SI(CONTAR.SI([@CommercialDescription];"*REPUEST*");"REPUESTOS"; WHEN [Commercial Description] LIKE 'MOTOR%' THEN 'REPUESTOS' --34.SI(CONTAR.SI([@CommercialDescription];"MOTOR*");"REPUESTOS"; WHEN [Commercial Description] LIKE 'EQUIPO%AIRE%ACONDICIONADO%' THEN 'COMPLETO' --35.SI(CONTAR.SI([@CommercialDescription];"EQUIPO*AIRE*ACONDICIONADO*");"COMPLETO"; WHEN [Commercial Description] LIKE '%UNID%EXTERNA%' THEN 'CONDENSADORA' --36.SI(CONTAR.SI([@CommercialDescription];"*UNID*EXTERNA*");"CONDENSADORA"; WHEN [Commercial Description] LIKE '%UNID%INTERNA%' THEN 'EVAPORADORA' --37.SI(CONTAR.SI([@CommercialDescription];"*UNID*INTERNA*");"EVAPORADORA"; WHEN [Exporter] LIKE '%MIDEA%' THEN --SI([@EXPORTADOR]="MIDEA" CASE WHEN [Commercial Description] like '%MDV-D___%/%N1%[ ]%' THEN 'EVAPORADORA' --39.SI(CONTAR.SI([@CommercialDescription];"*MDV-D???*/*N1* *");"EVAPORADORA"; WHEN [Commercial Description] like '%MWF-__CR[ ]%' THEN 'COMPLETO' --40.SI(CONTAR.SI([@CommercialDescription];"*MWF-??CR *");"COMPLETO"; WHEN [Commercial Description] like '%MOV%-__C%' THEN 'CONDENSADORA' --41.SI(CONTAR.SI([@CommercialDescription];"*MOV*-??C*");"CONDENSADORA"; WHEN [Commercial Description] like '%MVA%-___W%' THEN 'EVAPORADORA' --42.SI(CONTAR.SI([@CommercialDescription];"*MVA*-???W*");"EVAPORADORA"; WHEN [Commercial Description] like '%MKT%-%' THEN 'EVAPORADORA' --43.SI(CONTAR.SI([@CommercialDescription];"*MKT*-*");"EVAPORADORA"; WHEN [Commercial Description] like '%MT%-__C%' THEN 'EVAPORADORA' --44.SI(CONTAR.SI([@CommercialDescription];"*MT*-??C*");"EVAPORADORA"; WHEN [Commercial Description] like '%MR%-%C%' THEN 'COMPLETO' --45.SI(CONTAR.SI([@CommercialDescription];"*MR*-*C*");"COMPLETO"; WHEN [Commercial Description] like '%MU_-__CR%' THEN 'EVAPORADORA' --46.SI(CONTAR.SI([@CommercialDescription];"*MU?-??CR*");"EVAPORADORA" ELSE 'N.I.' END ELSE 'N.I.' END FROM [dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO] (@ExcelTVP)
- Editado Eduardo_developer lunes, 28 de noviembre de 2016 16:34
-
tendra que ver algo la version de sql que utilizo??, lo probe en
SQL SERVER 2008 R2 express y si funciona,
esta es la version que uso en el servidor
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) Jun 28 2012 08:36:30 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
habrá que hacer algo adicional??
- Editado Eduardo_developer lunes, 28 de noviembre de 2016 16:31
-
Verdad que no se lo que deseas hacer.
En este caso tienes un error al declarar el tipo del parametro (hay un guion despues del tipo).
Tampoco se de donde sale la columna [TIPO] pues esta no es parte del tipo de dato tabla que se creo.
La sequencia a seguir es:
- crear el tipo de dato tabla
- crear la o las funciones que esperan un parametro tipo tabla
- declarar una variable de dicho tipo para llenarla con las filas deseadas y pasarla como parametro a la funcion. Esto lo puedes hacer desde codigo T-SQL, ejemplo un procedimiento, o desde una aplicacion cliente que use .Net.
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas
- Editado HunchbackMVP lunes, 28 de noviembre de 2016 16:32
-
Verdad que no se lo que deseas hacer.
En este caso tienes un error al declarar el tipo del parametro (hay un guion despues del tipo).
Tampoco se de donde sale la columna [TIPO] pues esta no es parte del tipo de dato tabla que se creo.
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas
evidentemente he tenido que acortar las querys , pero el error es el mismo , los redondeos no me ayudan ,
como he comentado antes probé corriendo en sql server express 20o8 r2 y corrió sin errores
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation Express Edition with Advanced Services (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
en este vaersión no em deja
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) Jun 28 2012 08:36:30 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
NOTA ya quite en la query anterior lo que podría generar confusion , ala mala trate de correr esto
y sacando los case no corre tampoco
ALTER FUNCTION [dbo].[FN_CLIMATIZACION_EQUIPO] ( @ExcelTVP TVP READONLY --@FechInicio datetime,@FechaFin datetime,@EFA VARCHAR(20) ) RETURNS TABLE AS RETURN SELECT * FROM [dbo].[FN_CLIMATIZACION_EQUIPO_FILTRAR_SUBCLASE_TIPO] (@ExcelTVP)
Y ME SALE EL MISMO ERROR
- Editado Eduardo_developer lunes, 28 de noviembre de 2016 16:39
-
-
Ya empiezan a votarse entre ustedes asi que mejor cierro el hilo, la solución fue crearme otra base de datos y ejecutar las queries que ya tenia y todo corrio perfecto , me queda el misterio de saber porque no funcionaron en la otra BD,
- Marcado como respuesta Eduardo_developer lunes, 28 de noviembre de 2016 20:46
-
Cual es el nivel de compatibilidad de la base de datos donde no funciona el script?
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas -
Cual es el nivel de compatibilidad de la base de datos donde no funciona el script?
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas -
Trata:
SELECT name, compatibility_level FROM sys.databases WHERE name = N'tempdb'; SELECT name, compatibility_level FROM sys.databases WHERE database_id = DB_ID(); SELECT name, compatibility_level FROM sys.databases WHERE database_id = DB_ID(N'tempdb');
Cualquiera de estas opciones.
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas -
Hola , si lo probé y en efecto en esa BD el nivel de compatibilidad es distinto al de la BD que yo cree
SELECT name, compatibility_level FROM sys.databases WHERE name = N'PRODUC'; SELECT name, compatibility_level FROM sys.databases WHERE name = N'IMPORTACIONES';
EN LA PRIMERA ME SALE 80 y en la segunda 100,como se corrige eso y sería conveniente mover ese parametro en un entorno de producción en el que se han desarrollado otros sistemas?
-
El nivel 80 es de SS 2000, 90 - 2005, 100 - 2008, 110 - 2012, 120 - 2015 y 130 - 2016.
Puedes usar el comando ALTER DATABASE para cambiar el nivel de compatibilidad de acuerdo a la version que tengas. Ojo, debes hacer esto en un servidor de desarrollo para que pruebes tus aplicaciones antes de hacerlo en produccion.
Ejemplo:
USE [master] GO ALTER DATABASE [AdventureWorks2014] SET COMPATIBILITY_LEVEL = 100 GO
Tambien puedes usar el GUI de SSMS (Object Explorer - Right-Click en la db - )Properties - Options.
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas- Propuesto como respuesta Joyce_ACModerator miércoles, 30 de noviembre de 2016 17:43