Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/09/2016, 11:50
Rebuilding
 
Fecha de Ingreso: julio-2014
Mensajes: 161
Antigüedad: 9 años, 9 meses
Puntos: 4
No encuentro el error en este procedure

Este es mi procedure

Código PHP:
Ver original
  1. CREATE FUNCTION comprar(empresa numeric, telefonoe numeric, fechaa date, ide_producto numeric, cantidades numeric) RETURNS integer
  2.     LANGUAGE plpgsql
  3.     AS $$DECLARE
  4. hayorden integer;
  5. numorden numeric;
  6. idresultado integer;
  7. BEGIN
  8.     SELECT COUNT(*) INTO hayorden FROM app_ordenes WHERE id_empresa=empresa AND id_telefono=telefonoe AND estatus='0';
  9. IF(hayorden=0) THEN
  10.     INSERT INTO app_ordenes VALUES ('',empresa,telefonoe,fechaa,0)  RETURNING id INTO numorden;
  11. ELSE
  12.     SELECT id INTO numorden FROM app_ordenes WHERE id_empresa=empresa AND id_telefono=telefonoe AND estatus='0';
  13. END IF;
  14.     INSERT INTO app_ventas VALUES ('',numorden,ide_producto,cantidades) RETURNING id INTO idresultado;
  15.         RETURN idresultado;
  16. $$;

Lo invoco asi

Código PHP:
SELECT comprar('1','19','2016-09-17','1','1'); 
Mi error es esto
Código PHP:
ERROR:  la sintaxis de entrada no es válida para integer«»
LINE 1
INSERT INTO app_ventas VALUES ('',numorden,ide_producto,cant...
                                       ^
QUERY:  INSERT INTO app_ventas VALUES ('',numorden,ide_producto,cantidadesRETURNING id
CONTEXT
:  PL/pgSQL function comprar(numeric,numeric,date,numeric,numericline 12 at sentencia SQL