用实现的利润弥补亏损为什么不会影响所有者权益(用实现的利润弥补亏损)

lxf2023-08-27 16:20:01

从MySQL 5.0开始,支持全新的SQL语法:

从preparable_stmt准备stmt _ name执行stmt _ name[使用@var_name [,@var_name]...];{ DEALLOCATE | DROP } PREPARE stmt _ name;

通过它可以实现类似MS sql的sp_executesql来执行动态SQL语句!

同时可以防止注射攻击!

为了有一个感性的认识,这里举几个小例子:

mysql >从' SELECT SQRT(POW(?,2) + POW(?,2))作为斜边';MySQL > SET @ a = 3;MySQL > SET @ b = 4;mysql >使用@a,@ b;执行stmt1++ |斜边|++| 5 |+-+MySQL > DEALLOCATE PREPARE stmt 1;mysql> SET @s = 'SELECT SQRT(POW(?,2) + POW(?,2))作为斜边';mysql >从@s准备stmt2MySQL > SET @ a = 6;MySQL > SET @ b = 8;mysql >使用@a,@ b;执行stmt2+ - + |斜边|+-+| 10 |+-+MySQL > DEALLOCATE PREPARE stmt 2;

如果你的MySQL版本是5.0.7或者更高,也可以在LIMIT子句中使用。示例如下:

MySQL > SET @ a = 1;mysql >从“从tbl限制中选择*准备STMT?”;mysql >使用@a执行STMT;MySQL > SET @ skip = 1;SET @ numrows = 5;mysql >准备STMT FROM "SELECT * FROM tbl LIMIT?, ?";mysql >使用@skip,@ numrows执行STMT;

使用PREPARE的几个注意事项:

a:从preparable_stmt准备stmt _ name

预定义一条语句,并将其赋给stmt_name,该语句不区分大小写。

b:甚至在preparable_stmt语句中?表示一个字符串,不需要放。用引号括起来。

c:如果新的PREPARE语句使用了一个已有的stmt_name,那么原来的会被立即释放!即使这个新的PREPARE语句由于错误而无法正确执行。

d: preparestmt _ name的作用域是当前客户端连接会话可见。

e:要释放预定义语句的资源,可以使用DEALLOCATE PREPARE语法。

f:执行stmt_name语法,如果stmt _ name不存在,会引发错误。

g:如果在终止客户端连接会话时没有显式调用DEALLOCATE PREPARE语法来释放资源,服务器将会自己释放它。

h:在预定义语句中,支持create table、delete、do、insert、replace、select、set、update和大多数SHOW语法。

I: prepare语句不能用于存储过程,用户定义函数!但是从MySQL 5.0.13开始,可以在存储过程中使用,但是在函数中仍然不支持!这里有一个例子:

CREATE PROCEDURE ` P1 `( IN id INT UNSIGNED,IN name VARCHAR(11))BEGIN lable _ exit:BEGIN SET @ SqlCmd = ' SELECT * FROM tA ';如果id不为NULL,则设置@SqlCmd = CONCAT(@SqlCmd,'其中id=?');从@SqlCmd准备stmtSET @ a = id使用@a执行stmt离开lable _ exit结束IF;如果name不为NULL,则设置@SqlCmd = CONCAT(@SqlCmd,'其中name LIKE?');从@SqlCmd准备stmtSET @a = CONCAT(name,' % ');使用@a执行stmt离开lable _ exit结束IF;END lable _ exit结束;调用“P1 ”( 1,空);调用' p1 '(空,' QQ ');删除过程“p1 ”;

adminjs.cn是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 在Adminjs.cn中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!