作者Futurend (未来)
看板Database
标题Re: [SQL ]M$SQL有关TableName用变数代替的问题...
时间Tue Nov 16 00:35:42 2010
※ 引述《LPH66 (-858993460)》之铭言:
: ※ 引述《illjay0404 (*~你是我的花朵)》之铭言:
: : 我现在用BCB在写M$SQL资料库程式,我想从外部输入TableName
: : 但是要先下字串指令给SQL,搜寻大师、书本找了一下
: : 找不到相关资讯....可能是没人这样绕一圈搜寻吧!
: : 大概说一下我的问题,通常我们要某Table搜寻全部栏位
: : SELECT *
: : FROM 表格名
: : 我现在想的方式是...用WHERE条件式去代替'表格名'有办法吗?
: : 简单来说...就是
: : SELECT *
: : FORM 变数
: : WHERE 变数 = 'TableName'
: : 两个结果输出是一样的...只是TableName可以让我外部用BCB程式自行输入
: (好像要推到两行所以回文)
: 那就直接建立一个字串长得像 SELECT * FROM 'TableName'
: 再送进去 这样就可以啦?
: 例如像是 sprintf(sqlcommand,"SELECT * FROM '%s'",tablename); 这样
: 还是你有什麽问题使得建立这样的字串有困难?
在纯SQL的环境的话
也可以直接下
DECLARE @TableName nvarchar(10)
DECLARE @SqlString Nvarchar(50)
IF ISNULL(@TableName, '') <> '' BEGIN
SET @SqlString = N'SELECT * FROM ' + @TableName
EXECUTE (@SqlString)
END
如果有必要的话也可以在条件里面增加去SystemTable
搜寻这个@TableName是否存在的判断式
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.249.134.104