SQL中,表名和列名是不能使用变量的,如果想动态指定表名和列名,那么只有利用下面的功能:EXEC可以执行储存在字符变量中的Sql语句的特点,比如:
CREATE PROCEDURE
Find_Dj @table_name varchar(20),@strsql varchar(20)
AS
declare @sql varchar(200)
set @sql=''select * from ''+@table_name+ '' where ''+ @strsql
execute(@sql)
注意sql本身单引号',在@sql变量中应为''两个单引号代替
另外,sql中的转义符不是/或/,而是',''''在字符串中表示''
CREATE PROCEDURE
Find_Dj @table_name varchar(20),@strsql varchar(20)
AS
declare @sql varchar(200)
set @sql=''select * from ''+@table_name+ '' where ''+ @strsql
execute(@sql)
注意sql本身单引号',在@sql变量中应为''两个单引号代替
另外,sql中的转义符不是/或/,而是',''''在字符串中表示''