Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

recibir variables externas a pltcl

Estas en el tema de recibir variables externas a pltcl en el foro de PostgreSQL en Foros del Web. Saludos ¿es posible que una función en pltcl reciba una variable de php?...
  #1 (permalink)  
Antiguo 10/03/2011, 13:36
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
recibir variables externas a pltcl

Saludos

¿es posible que una función en pltcl reciba una variable de php?
__________________
Gracias de todas todas
-----
Linux!
  #2 (permalink)  
Antiguo 10/03/2011, 17:19
Avatar de xdrtas  
Fecha de Ingreso: junio-2008
Ubicación: Venezuela
Mensajes: 97
Antigüedad: 15 años, 10 meses
Puntos: 13
De acuerdo Respuesta: recibir variables externas a pltcl

Cita:
Iniciado por cacr Ver Mensaje
Saludos

¿es posible que una función en pltcl reciba una variable de php?
Hola cacr, por supuesto que es factible, te paso un ejemplo:
  1. Función pl/Tcl
    Código tcl:
    Ver original
    1. CREATE OR REPLACE FUNCTION tcl_max(integer, integer)
    2.   RETURNS integer AS
    3. $BODY$
    4.     if {[argisnull 1]} {
    5.         if {[argisnull 2]} { return_null }
    6.         return $2
    7.     }
    8.     if {[argisnull 2]} { return $1 }
    9.     if {$1 > $2} {return $1}
    10.     return $2
    11. $BODY$
    12.   LANGUAGE pltcl VOLATILE
    13.   COST 100;
    14. ALTER FUNCTION tcl_max(integer, integer) OWNER TO postgres;
    Esta función lo que hace es comprobar que número es mayor, como puedes ver recibe dos enteros.
  2. Código PHP:
    Código PHP:
    Ver original
    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    2. <html>
    3.     <head>
    4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    5.         <title></title>
    6.     </head>
    7.     <body>
    8.         <?php
    9.         // put your code here
    10.         $conn = pg_connect("host=localhost port=5432 dbname=prueba user=tuUsuario password=tuContraseña");
    11.         $var1 = 40; //Parámetro uno.
    12.         $var2 = 30; //Parámetro dos.
    13.         if($conn)
    14.         {
    15.             $qry = pg_query($conn, "select tcl_max(".$var1.",".$var2.");");
    16.             if($qry)
    17.             {
    18.                 while($elementos = pg_fetch_array($qry))
    19.                     echo "<h1>".$elementos[0]."</h1>";
    20.             }
    21.         }
    22.         ?>
    23.     </body>
    24. </html>

En la base de datos "prueba" he creado la función tcl_max que lo saqué de la siguiente página: http://www.pgadmin.org/docs/1.6/pg/pltcl-functions.html.
En PHP establezco la conexión a la base de datos , ejecuto la consulta pasando los valores $val1 y $val2 a la función pl/tcl, que me traiga el resultado y lo muestre en la página.

Me faltó cerrar la conexión y liberar la query, pero eso estoy seguro que lo sabes hacer, sino, me avisas y lo publico, no lo hice por vago

Un cordial saludo.
__________________
¿Cuál es el mejor lenguaje para programar?
Aquel lenguaje por el cual te paguen más.
[--::xdrtas.coolpage.biz::--]
[---:::xdrtas:::---]
  #3 (permalink)  
Antiguo 14/03/2011, 09:40
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: recibir variables externas a pltcl

Excelente! aunque es al revés jeje

La pregunta era, porque la función pltcl será ejecutada por un trigger dentro del postgresql, pero creo que puede ser un error de mi parte, a ver cómo le hago con lo que me pasaste

Gracias!
__________________
Gracias de todas todas
-----
Linux!

Etiquetas: externas, recibir, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:48.