这语句哪里错了?

zhuxianzhu 2009-04-12 01:48:43
ALTER proc [dbo].[Search] 
@tabel varchar(10), /*表名*/
@a varchar(10),/*列名*/
@b VarChar(50)/*查询参数*/
as
begin
declare @sql as varchar(100)

set @sql='select * from '+@tabel+' where '+@b+' =aa' --这里提示列名aa无效

exec(@sql)
end
...全文
85 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhuxianzhu 的回复:]
为什么要加2个以上的引号?一个不行吗?
[/Quote]
因为你的语句当中有单引号,那么一般使用两个''来表示一个'
CHIC250 2009-04-12
  • 打赏
  • 举报
回复
在sql字符串中要存放一个单引号,应该用两个单引号来表示。
例如:
select ''''

执行结果为:
----
'

(所影响的行数为 1 行)
y63964632 2009-04-12
  • 打赏
  • 举报
回复
顶下 少单引号的原因吧
zhuxianzhu 2009-04-12
  • 打赏
  • 举报
回复
为什么要加2个以上的引号?一个不行吗?
ChinaJiaBing 2009-04-12
  • 打赏
  • 举报
回复

ALTER proc [dbo].[Search]
@tabel varchar(10), /*表名*/
@a varchar(10),/*列名*/
@b VarChar(50)/*查询参数*/
as
begin
declare @sql as varchar(100)

set @sql='select * from '+@tabel+' where '+@b+''' =aa''' --这里提示列名aa无效

exec(@sql)
end

qianjunxian 2009-04-12
  • 打赏
  • 举报
回复
alter proc Search
@tabel varchar(50), /*表名*/
@a varchar(10),/*列名*/
@b VarChar(50)/*查询参数*/
as
begin
declare @sql as varchar(100)
set @sql='select * from '+@tabel+' where '+@b+'='''+@a+''''
print @sql
exec(@sql)
end
htl258_Tony 2009-04-12
  • 打赏
  • 举报
回复
来迟了,帮顶.
百年树人 2009-04-12
  • 打赏
  • 举报
回复
ALTER proc [dbo].[Search] 
@tabel varchar(10), /*表名*/
@a varchar(10),/*列名*/
@b VarChar(50)/*查询参数*/
as
begin
declare @sql as varchar(100)

set @sql='select * from '+@tabel+' where '+@b+' =''aa''' --这里提示列名aa无效

exec(@sql)
end


aa是一个字符串,不是一个列名,所以要加引号
Zoezs 2009-04-12
  • 打赏
  • 举报
回复

set @sql='select * from '+@tabel+' where '+@b+' =''aa'''
ks_reny 2009-04-12
  • 打赏
  • 举报
回复
楼主参考我以前写的过程

CREATE PROCEDURE RPS
@PRAM VARCHAR(10),---参数
@TJ VARCHAR(6), ---条件
@VALUES VARCHAR(20),---值
@TBNAME VARCHAR(20) ---表名
AS
DECLARE @SQL VARCHAR(500)
SET @SQL = 'SELECT * FROM ' +@TBNAME+' WHERE '+@PRAM+' '+@TJ+' '+'''' +@VALUES + ''''
PRINT @SQL
EXEC(@SQL)
GO

---------------------------
调用过程
RPS 'lzrq','>','2006.01.01','hp_zd01'
意思是在表hp_zd01 中 lzrq>'2006.01.01' 的记录。

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧