JLCORMAR
Usuario Novato
Usuario Novato

Hola,

estoy aprendiendo a manerjar MySQL con la famosa base de datos de ejemplo Chinook, y al escribir una función me sale el dichoso error #1064.

El enunciado de la práctica es "Realizar la función TotalDelCliente que devuelva el total facturado a un cliente.", y el código que he escrito es

  1. CREATE FUNCTION TotalDelCliente (nCustomerID INT) RETURNS DECIMAL(10,2)
  2. BEGIN
  3. DECLARE nCuanto DECIMAL (10,2)
  4.   SELECT
  5.       SUM (Total)
  6.       INTO nCuanto FROM invoice
  7.       WHERE CustomerID = CustomerID
  8.   RETURN nCuanto
  9. End;

Y el error

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT
        SUM (Total)
        INTO nCuanto FROM invoice
        WHERE CustomerID = C' at line 5

Dado que nunca he manejado este lenguaje, y que el libro que usamos tiene los ejemplos en SQL, no consigo encontrar el error del código.

Muchas gracias de antemano

Avatar Image
@man / @woman
@man / @woman

Desconozco el Chinook, el lenguaje que utilizas, etc (o sea: casi todo).

De lo que escribiste (el código con líneas numeradas), las líneas de la 4 a la 7 es SQL; y esa sentencia no sigue la lógica para calcular el total facturado a un cliente.

Sugerencias:

- hecha una mirada a las tablas de la base de datos que son necesarias para resolver el cálculo.

- defines que datos son necesarios prover para la consulta.

- defines que tipo de datos quieres recuperar (la respuesta).

- repasa la sintaxis de SQL (en la página web del Sql hay una ayuda total, y con ejemplos).

Una vez lograda la sentencia SQL que necesitas (es un string); deberás gestionar la consulta con el motor de la base de datos, y para ello es necesario un lenguaje que abra la base de datos y establezca una conexión, realice la consulta, y capture el resultado; posteriormente lo manejas normalmente con el lenguaje (en variables).

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 03/Dic/2014, 06:13
noesuxx NoSetup.org13kDec/14
Por: , el 28/Mar/2014, 03:05
Programer10 GestionXls NoSetup.org User 929335132kApr/14
Por: , el 01/Ago/2009, 20:50
skamter aerialss88464kAug/09
Por: , el 03/Oct/2005, 21:27
3direct02kOct/05
Por: , el 22/Jul/2016, 03:17
malbersado sule_8312kAug/16