3
可变我想插入:INSERT INTO与DB
- 数据库
TEST
,表SUBJECT
,现场aSubject
当@Database = 'TS'
- 数据库
TEST1
,表SUBJECT
,现场aSubject
当@Database = 'TS1'
- 别的数据库
DEMO
,表SUBJECT
,字段aSubject
我尝试这样做:
DECLARE @Database varchar(10)
Set @Database = 'TS'
INSERT INTO
(
CASE
WHEN @Database = 'TS' THEN 'TEST.dbo.SUBJECT'
WHEN @Database = 'TS1' then 'TEST1.dbo.SUBJECT'
ELSE 'DEMO.dbo.SUBJECT' END
) (aSubject)
SELECT 'Company'
我得到错误:
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near '('.
表或列名不能是一个变量。实际上,您必须创建一个扩展变量的新SQL语句。一种方法是动态SQL,比如'declare @sql varchar(max)='select ...'; exec @sql;' – Andomar 2014-08-29 10:56:03