是否可以传入列名作为SQLServer 2008中包含全文查询的参数?
这似乎不可能:
DECLARE @MYCOLS AS NVARCHAR(30);
DECLARE @MYVALUE AS NVARCHAR(100);
SET @MYCOLS = 'NOTES,TITLE'
SET @MYVALUE = 'Chicago'
SELECT NOTES FROM MY_NOTE_TABLE WHERE FULLTEXT((@MYCOLS),@MYVALUE)
其中MY_NOTE_TABLE的列ID(IDENTITY),TITLE NVARCHAR(100),NOTES NVARCHAR(MAX)。
如果列是专门命名的,那么工作正常,但如果可能的话,我真的想使用参数。
答案 0 :(得分:0)
如果你在程序或SSRS中,就像这样......
BEGIN
DECLARE @SQLSTR VARCHAR(100)
DECLARE @Columns VARCHAR(50)
SET @Columns = 'FirstName, LastName'
SET @SQLSTR = 'Select ' + @Columns +' FROM EM WHERE Status=$A$'
SET @SQLSTR = REPLACE(@SQLSTR, '$', CHAR(39))
Execute (@SQLSTR)
END
我将$' s和CHAR(39)替换为一种简单的方法来修复语句'引用'文字,还有其他方法...
最后,你刚刚执行一个字符串,你已拼凑在一起......