none
Funciones con parametros RRS feed

  • Pregunta

  • Buenas Tardes

    Me presento soy estudiante de ingeniería de sistemas. estoy en una clase de base de datos. la cual me gusta mucho, pero  hay un tema que  no entiendo bien y se me  complica, espero puedan aportarme. El caso es que tengo la definición de las  siguientes tablas.

    TCliente (idClte numeric (4,0) primary key, nomClte varchar(60))

    TCuenta (idCta numeric (6,0) primary key, idClte numeric(4,0), tipoCta varchar(1),limCred numeric(8,2))

    TTransaccion (idTrans numeric (6,0) primary key, idCta numeric (6,0), tipoTrans numeric (1,0), importe numeric (8,2))

    he creado mi base de datos y sus tablas anteriores asi como he  registrado datos en ellas. debo crear  una función en base de la siguiente descripción

    Recibe como parámetro:
    1.-  el nombre de un cliente y
    2.-  el id de su cuenta
    y retorna:

    1.- el saldo disponible de ese cliente en esa cuenta: Si la cuenta es tipo “C”: el saldo disponible es igual al límite de crédito menos el acumulado de todos los importes de todas las transacciones tipo 2, Si la cuenta es de tipo “D” el saldo disponible es igual al límite de crédito. Valida la existencia y correspondencia del nombre del cliente y de su cuenta.

    Alguien me  puede  ayudar o dar  ideas.

    Gracias y saludos

    jueves, 7 de diciembre de 2017 23:35

Respuestas

  • Alguien me  puede  ayudar o dar  ideas.

    Te doy ideas (pero no te escribo la solución, por tratarse de un ejercicio académico):

    1) Declara el esqueleto de la función con "Create function ... as ...".

    2) Ponle los parámetros de entrada usando @nombre

    3) Dentro de la función declara variables para contener los datos necesarios tales como @saldo, y cárgalos con select @saldo=loquesea from latabla where campo=@parametrorecibido.

    4) Usa sentencias "IF" para evaluar las condiciones que te han impuesto.

    5) Una vez que tus IF han cargado el resultado final en una @variable, revuélvela como resultado de la función usando RETURN @variable.

    viernes, 8 de diciembre de 2017 7:41

Todas las respuestas

  • Alguien me  puede  ayudar o dar  ideas.

    Te doy ideas (pero no te escribo la solución, por tratarse de un ejercicio académico):

    1) Declara el esqueleto de la función con "Create function ... as ...".

    2) Ponle los parámetros de entrada usando @nombre

    3) Dentro de la función declara variables para contener los datos necesarios tales como @saldo, y cárgalos con select @saldo=loquesea from latabla where campo=@parametrorecibido.

    4) Usa sentencias "IF" para evaluar las condiciones que te han impuesto.

    5) Una vez que tus IF han cargado el resultado final en una @variable, revuélvela como resultado de la función usando RETURN @variable.

    viernes, 8 de diciembre de 2017 7:41
  • Lo primero seria resolver el problema con un script (variables y sentencia SELECT).  Una vez que funcione, entonces lo pasas hacia una funcion. Segun he leido, creo que una funcion tipo tabla en linea haria el trabajo.

    Nota que el nombre de un cliente no es llave de esa tabla y validar existencia iria mas alla de comprobar que el nombre exista pero que su id este vinculado al de la cuenta. Que harias si encuentras mas de un cliente con el mismo nombre?


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas

    viernes, 8 de diciembre de 2017 14:36