
带有SP的PHP和SQL在MySQL数据库的表中进行更新,编写或获取操作时,简单的代码看起来如何?需要了解并看到使用SP和UDF的要点.
重视帮助!谢谢!
存储过程是MySQL编写并由MySQL执行的MySQL代码.
存储函数示例
CREATE FUNCTION AreWeThereYet(Location integer) RETURNS boolean
BEGIN
Return 0;
END
存储过程的示例
CREATE PROCEDURE InsertRow(A integer)
BEGIN
INSERT INTO table1 VALUES(A);
END
UDF的
UDF是C()或编译为.so(linux)或.dll(windows)的类似代码
您要使用以下命令将其插入MySQL:
CREATE FUNCTION metaphon RETURNS STRING SONAME 'udf_example.so'; //linux
CREATE FUNCTION metaphon RETURNS STRING SONAME 'udf_example.dll'; //windows
概括
UDF很复杂,存储过程很简单.
您可以在SO中找到很多有关存储过程的示例
由于UDF更为复杂,因此只有在您发现存储函数/存储过程不再适合您时(慢/不够强大等),我才会使用它们.
链接
有关存储过程的更多信息,请参见:
http://dev.mysql.com/doc/refman/5.1/en/stored-routines.html
有关UDF的更多信息,请参见:
http://dev.mysql.com/doc/refman/5.1/en/udf-compiling.html
关于存储过程的良好SO问题
调试:How do you debug MySQL stored procedures?
使用它们与PHP吗?:Should PHP developers use MySQL’s stored procedures?
视图或存储过程?:MySQL: Views vs Stored Procedures
使用sproc进行更新:mysql procedure to update numeric reference in previous rows when one is updated
提高和处理过程中的错误:How to raise an error within a MySQL function
如何从php调用存储过程
真的只是另一个查询
-- normal select
$query = "SELECT * FROM table1";
-- call to stored proc
$query = "CALL InsertARow('1')";
-- use a stored function
$query = "SELECT AreWeThereYet('10')";
-- or
$query = "SELECT * FROM table1 WHERE AreWeThereYet(field1) = '1' ";
祝好运.
转载注明原文:PHP-SP和UDF的帮助? - 乐贴网