动态sql和静态sql到底是说明区别
想知道到底动态sql和静态sql区别如果是在网上复制的就不需要了看了很多看不懂,因为自己是个新手所以想问问大牛这两者区别最好多写几个sql语句来说明...
想知道到底动态sql和静态sql区别 如果是在网上复制的就不需要了 看了很多看不懂,因为自己是个新手 所以想问问大牛这两者区别 最好多写几个sql语句来说明
展开
展开全部
静态sql:语句类型在编程时候必须是确定好的。比如
create proc dbo.Usp_Test
(@ID int)
as
begin
select * from employee where ID=@ID
end
GO
以上只有@ID是变量,其他的都必须是固定语句。
动态sql:语句类型可以在运行期间指定,比如
create proc dbo.Usp_Test
(@ID int)
as
begin
declare @strsql nvarchar(8000)
set @strsql=N'select * from employee where ID='+cast(@ID as nvarchar(20))
exec @strsql
end
GO
静态sql的好处就是事先SQL已经预编译,执行计划已生成,执行起来效率要高
而动态sql是在运行时动态生成执行计划的。
两者没有哪种最好,哪种最优,都是根据业务,具体判断应该使用何种方式来实现
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询