zoukankan      html  css  js  c++  java
  • 动态sql

    动态sql和静态sql的区别?

      所谓sql的动态和静态是指sql语句在何时被编译和执行,二者都是用在sql嵌入式编程中的,这里所说的嵌入式是指将sql语句嵌入在高级语言中,而不是针对单片机的那种嵌入式编程。

    什么是静态sql?

      高级语言中嵌入的sql语句在编译阶段sql的主体结构已经明确。

    什么是动态sql?

      sql的主体结构在编译阶段无法确定,只有等程序运行起来,在执行过程中才能确定。

    执行动态sql的方法?

      1)使用exec命令,exec有两个用途,一个用来执行存储过程,一个用来执行动态sql。用exec来执行静态sql没有意义,性能低,动态sql用在数据库名、表名、字段名作为参数的的场景。

    declare @test nvarchar(128)
    set @test = 'name'
    exec ('select '+ @test+' from child') //执行动态sql必须有这个括号
    declare @sql varchar(max)
    declare @test nvarchar(128)
    set @test = 'name'
    set @sql = 'select '+ @test+' from child'
    exec(@sql) //执行动态sql必须有这个括号

    注意:也可以使用 exec sp_executesql 形式
    EXEC sp_executesql @sql -- 注意:@sql必须是ntext,nchar,nvarchar类型,不可以是varchar类型
  • 相关阅读:
    防止sql注入的小函数 以及一些小验证
    PHP几个防SQL注入攻击自带函数区别
    redis配置文件.conf和常用配置
    redis常用命令
    redis数据类型
    redis的安装和简单操作
    yum CentOS7安装mysql
    Linux安装mysql
    firewall-cmd 常用命令
    解决linux下启动tomcat找不到jdk
  • 原文地址:https://www.cnblogs.com/llljpf/p/10550751.html
Copyright © 2011-2022 走看看