Los procedimientos están almacenados en una tabla de las base de datos principal de MySQL (mysql.proc). Y las funciones están almacenadas en la tabla (mysql.func). Simplemente lo único de debemos hacer es un "ZAP" de dichas tablas.
Utilizaremos la sentencia de MySQL "TRUNCATE" que es equivalente al "ZAP" de Visual FoxPro.
Vamos ha hacerlo como siempre desde nuestro querido FOX.
******************************************************
* ZAP(eliminacion) de Funciones y Procedimientos de MySQL
******************************************************
LOCAL CSQL, NH, CCADENA
CSQL=””
NH=0
CCADENA=””
CSQL= "DRIVER={MySQL ODBC 3.51 Driver};" + ;
"SERVER=127.0.0.1;" + ;
"PORT=3306;" + ;
"UID=usuario;" + ;
"PWD=pasword;" + ;
"DATABASE=mybasededatos;" + ;
"OPTIONS=2049;"
NH=SQLSTRINGCONNECT(""+CSQL, .T.)
IF NH>0
SQLSETPROP(NH,'Asynchronous', .T.)
SQLSETPROP(NH,'BatchMode', .T.)
** ZAP de Funciones
TEXT TO CSQL TEXTMERGE NOSHOW
TRUNCATE TABLE MYSQL.FUNC
ENDTEXT
SQLPREPARE(NH,""+CSQL)
SQLEXEC(NH)
** ZAP de Procedimientos
TEXT TO CSQL TEXTMERGE NOSHOW
TRUNCATE TABLE MYSQL.PROC
ENDTEXT
SQLPREPARE(NH,""+CSQL)
SQLEXEC(NH)
SQLDISCONNECT(NH)
ENDIF
RELEASE CSQL,NH,CCADENA
*************************************************************
Una vez eliminados los procedimientos y Las funciones podemos recrearlos a través de un Script de MySQLDesde la linea de comandos del MySQL podemos ejecutar:
SOURCE C:\SCRIPT.SQLDonde SCRIPT.SQL es un archivo de texto que contiene instrucciones MySQL específicas que puede ser creado perfectamente con el NOTEPAD de Windows.
Antonio L. Montagut
www.ontarioxb.es
"A veces"
ResponderBorrar