• 动态他TransactSQL语句处理中的常见问题演示.sql


    --1.数据类型转换的问题
    DECLARE @value int
    SET @value=100

    DECLARE @sql varchar(8000)
    SET @sql='SELECT * FROM tbname WHERE col='+@value
    EXEC(@sql)
    GO


    /*======================================================*/

    --2.字符串边界符的问题
    DECLARE @value varchar(10)
    SET @value='aa'

    DECLARE @sql1 varchar(8000),@sql2 varchar(8000),@sql3 varchar(8000)
    SET @sql1='SELECT * FROM tbname WHERE col1='+@value
    SET @sql2='SELECT * FROM tbname WHERE col1=''+@value+'
    SET @sql3='SELECT * FROM tbname WHERE col1='''+@value+''''
    GO

    DECLARE @value varchar(10)
    SELECT @value='a''a'

    DECLARE @sql varchar(8000)
    SET @sql='SELECT * FROM tbname WHERE col='''+@value+''''
    EXEC(@sql)
    GO


    /*======================================================*/

    --3.表名及字段名的问题
    DECLARE @tbname sysname
    SET @tbname='sysobjects'
    SELECT * FROM @tbname
    GO

    DECLARE @tbname sysname
    SET @tbname='sysobjects'
    EXEC sp_executesql N'SELECT * FROM @tbname',N'@tbname sysname',@tbname
    GO


    /*======================================================*/

    --4.返回值的问题
    DECLARE @tbname sysname,@sql varchar(100)
    SET @sql='SELECT @tbname=name FROM sysobjects where id=1'
    EXEC(@sql)
    SELECT @tbname
    GO
    DECLARE @tbname sysname,@sql varchar(100)
    SET @sql='SELECT '+@tbname+'=name FROM sysobjects where id=1'
    EXEC(@sql)
    SELECT @tbname
  • 相关阅读:
    deleted
    deleted
    HDU
    FZU 1901 Period II(KMP中的next)题解
    HDU 3374 String Problem(最大最小表示+KMP)题解
    HDU 4300 Clairewd’s message(扩展KMP)题解
    POJ 2923 Relocation(状压DP+01背包)题解
    HDU 4272 LianLianKan (状压DP+DFS)题解
    POJ 1185 炮兵阵地(状压DP)题解
    POJ
  • 原文地址:https://www.cnblogs.com/shihao/p/2507931.html
Copyright © 2020-2023  润新知