CREATE PROCEDURE dbo.search_ink
@a int,
@ink_no varchar(8),
@table varchar(8),
@all varchar(8)
AS
if @a=0
select * from @table
else
select * from @table where INK_NO=@ink_no
go我的意思是表也用变量传递!!不知道SQL可不可以,我这边是有提示错,要定义@TABLE
还是我的格式不对??在线等
@a int,
@ink_no varchar(8),
@table varchar(8),
@all varchar(8)
AS
if @a=0
select * from @table
else
select * from @table where INK_NO=@ink_no
go我的意思是表也用变量传递!!不知道SQL可不可以,我这边是有提示错,要定义@TABLE
还是我的格式不对??在线等
Select @SQL=""
Exectue @Sql
exec ('select * from '+@table)
else
exec ('select * from '+@table+' where INK_NO='+@ink_no)
我上面的打错了,更正一下
exec ('select * from '+@table+' where INK_NO='''+@ink_no+'''')
请参见http://community.csdn.net/Expert/topic/4869/4869265.xml?temp=.5164453
CREATE PROCEDURE dbo.search_ink
@a int,
@ink_no varchar(8),
@table varchar(8),
@all varchar(8)
AS
if @a=0
exec('select * from ' + @table)
else
exec('select * from ' + @table + ' where INK_NO= ''' + @ink_no + '''' /*注意:墨水号是字符型的,必须用一对单引号将@ink_no括起来.假设@table等于'inkname',则生成的语句类似于: select * from inkname where INK_NO = 'J100',如果不加一对单引号,则生成的语句类似于:select * from inkname where INK_NO = J100,可能会导致错误*/
go
http://community.csdn.net/Expert/topic/4869/4869265.xml?temp=.5164453
里面有个例子对"混乱"的单引号进行了分析.