SqlServer之一些小问题

SQL变量替换字段名技巧
本文介绍了如何在SQL语句中使用变量来动态指定字段名,包括存储过程的应用、字符串拼接注意事项及常见陷阱等内容。
  • 如何用变量代替字段名?

    将语句赋给一个varchar 变量,下列语句等价于(假设传进去的@id=’name‘):'select  name from 表名'

    如果直接执行这个语句,是没用的。@id不会被识别为字段名。  

ALTER PROCEDURE 存储过程名 
    @id varchar(10),

AS
BEGIN
     declare @sql varchar(500)
     set @sql='select ' +@id+' from 表名'
     exec(@sql)
END

 

  • sql语句中如何给varchar类型变量加上' ' ?  

    sql 里如果要在语句中使用单引号,要在加上一个’转义,如下面的四个''''。

set @sql='select NAME from STUDENTS where ID='''+@id+''''; 
  • sql语句以加减原变量方式更新变量?
update STUDENTS  set SCORE=SCORE+1 where ID=123  
  •  join查询可用于拼接二进制变量
  • SqlServer提示找不到存储过程
    • 重启数据库试一试(据说是因为SqlServer的客户端和服务器没同步)
    • 语句中表名前要加上库名,格式如——[库名]..[表名],exec 后加上括号()
  •  一个小坑——存储过程定义的变量顺序决定传进来的值,并不会是根据名称自动判断对应的变量

  

转载于:https://www.cnblogs.com/ninomiya/p/8609021.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值