例子一~定義臨時表的問題~
有時候我們在定義臨時表的時候很習慣就這樣寫~
ifobject_id('
tempdb..#tmp
') is
notnull
drop
table
#tmpif1
<
2select
*into #tmp from
dbo.testtb
else
select
*into #tmp from dbo.testtr1
但是這樣紙是會被編譯器趕出來的~會報上
訊息 2714,級別 16,狀態 1,第 7 行
資料庫中已存在名為 '#tmp' 的物件。
這樣紙的錯誤。這是因為在作用域下面,每乙個變數/臨時表只能宣告一次,雖然說在邏輯上面上面的語句沒問題,但是確實是宣告了2次,所以編譯器就把它攆出來了╮(╯_╰)╭。
通常解決這個東西,比較常見的方法有2個
1、如果結構一致,那麼就先先建立好臨時表,然後在邏輯判斷的時候插入資料
2、使用動態語句來建立臨時表,例子如下 。恩~我通常使用的解決方法就是這2種了
ifobject_id('
tempdb..#tmp
') is
notnull
drop
table
#tmp
declare
@sql
nvarchar(100)if
1<
2select
@sql='
select * into #tmp from dbo.testtb
select * from #tmp
'else
select
@sql='
select * into #tmp from dbo.testtr1
select * from #tmp
'exec (@sql)
例子二~表名是變數
更多時候,有時候想通過不同邏輯去查不同表的時候,有時候就會這樣寫~也是不行滴凸(艹皿艹 )
declare@tablename
varchar(50) =
'aaa
'select
*from
@tablename
這樣紙還是只能通過動態語句去拼接,因為動態語句是執行的時候再去去編譯的。所以沒問題。
恩~就是這樣紙~
備份檔案 小栗子
在實驗樓中,完成了乙個小挑戰 crontab e 表示為當前使用者新增計畫任務 sudo crontab e 表示為root使用者新增計畫任務 小明是乙個伺服器管理員,他需要每天備份論壇資料 這裡我們用日誌替代 備份當天的日誌並刪除之前的日誌。而且備份之後檔名是年 月 日的格式。alternativ...
scala偏函式小栗子
package cn.beicaiqm.scala.day04 created by administrator on 2018 6 1.被包在花括號內沒有match的一組case語句是乙個偏函式,它是partialfunction a,b 的乙個例項,a代表參 數型別,b代表返回型別 object...
Python教程 乙個小栗子和乙個小練習
python教程正在更新中 檢視python教程目錄 學了這麼多,我們來做幾個小練習。1.從命令列讀入出生年份是2001年,並且計算年齡例如那麼今年的年齡就是19歲 birth year input birth year age 2020 birth year print age 這是我們最樸素的思...