mysql执行存储过程脚本 MySql存储过程脚本中含有预处理语句时不能执行脚本
存储过程CustomCount.sql取各个表的记录数DropProcedureCustomCount;CreateProcedureCustomCountDeterministicSQLSecurityDefinerCommentBeginSelectCount(*)RowNumFromuc_members存储过程GetCount.sql:传入表名,取某个表的记录数DropProcedureGetCount;CreateProcedureGetCountoutRowNumbiginDeterministicSQLSecurityDefinerCommentBeginDeclareSQLStrvarchar(2000)defaultSetSQLStrConcat(´SelectCount(*)@MyNumFromTableName);Set@ResultSQLPreparepreSQLFrom@ResultSQL;ExecutePreSQL;DeallocatePreparepreSQL;SetRowNum@MyNum;End;上述两个存储过程脚本mysql执行存储过程脚本,在C#中读取文件内容后,运行卡盟,含预处理的存储过程执行失败。是什么原因呢??附件是.NETFramework4.0WinForm运行脚本源码示例,含这两个存储过程。请修改您的MySql连接字符串即可。CustomCount.sql中的uc_members制作Web安装包时,需要用程序运行MySql脚本,而这些脚本中,经常含有预处理脚本。使用这个预处理脚本主要是为了在动态执行SQL时取得输出参数的值(类似GetCount.sql不要建议说,使用mysql.exe这个命令一个一个的运行,或者说是调用其它MySql的.dll或.exe这种方式,因为Web安装时mysql执行存储过程脚本,经常是没有权限取得本地文件的执行权限的。主要是需要在虚拟主机下进行Web安装。
来源:【九爱网址导航www.fuzhukm.com】 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!