我有@db_out = 'aux.dbo.some_table_name'
數據庫,我不知道怎麼滴,基於變量如創建:SQL CREATE從可變
IF OBJECT_ID(@db_out) IS NOT NULL DROP TABLE "@db_out" - not working
CREATE TABLE "@db_out" .... etc
它創建master.dbo @ dbo_out
哪有我使用該變量來創建該表或驗證它並將其刪除?
我有@db_out = 'aux.dbo.some_table_name'
數據庫,我不知道怎麼滴,基於變量如創建:SQL CREATE從可變
IF OBJECT_ID(@db_out) IS NOT NULL DROP TABLE "@db_out" - not working
CREATE TABLE "@db_out" .... etc
它創建master.dbo @ dbo_out
哪有我使用該變量來創建該表或驗證它並將其刪除?
你將不得不建立VARCHAR變量的聲明,並執行它:
declare @strSql as varchar(max)
IF OBJECT_ID(@db_out) IS NOT NULL
BEGIN
EXEC ('DROP TABLE [' + @db_out + ']')
END
set @strSql = 'CREATE TABLE [' + @db_out + '] (' -- Etc
EXEC (@strSql)
你需要編寫動態SQL。
SET @sql = 'IF OBJECT_ID(@db_out) IS NOT NULL DROP TABLE ' + @db_out + '; '
SET @sql = @sql + 'CREATE TABLE ' + @db_out + ' (...)'
EXEC(@sql)
謝謝你......它的工作原理 – pufos 2012-04-04 09:04:26
最好..非常感謝。 – pufos 2012-04-04 09:02:36