gpt4 book ai didi

sql - 什么是准备好的陈述?它们与动态 sql 有何不同?

转载 作者:搜寻专家 更新时间:2023-10-30 20:21:42 24 4
gpt4 key购买 nike

我没有看到任何重复的问题,但想知道是否有人可以提供一些很好的例子和围绕这些问题的特别最佳实践。

最佳答案

Prepared Statements 是预编译语句,您可以在数据库上对其运行多次,SQLServer 不会在您每次运行时解析或生成不同的执行计划。通常,您在客户端上下文中运行准备好的语句(使用 JDBC、ADO.NET、ODBC 或任何其他客户端访问技术)。

Java 中的准备语句(当然使用 JDBC)类似于:

PreparedStatement ps = conn.prepareStatmente("insert into t(field1) values (?)");
ps.setString(1, "Hello");
ps.executeUpdate();
ps.setStrgin(2, "World");
ps.executeUpdate();
ps.close();
// two rows will be inserted into table t:
// field1 => "Hello"
// field1 => "world"

Dynamic SQL能够在 SQLServer 的存储过程或函数中运行存储在动态变量(即字符串)中的任何 SQL 语句。您可以在提供的链接中找到一些示例。

关于sql - 什么是准备好的陈述?它们与动态 sql 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3553120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com