Re: [問題] 詢問這組SQL為什麼要分SELECT和WHERE兩段
※ 引述《bernachom (Terry)》之銘言:
:
: 問題2: ASq1.AppendFormat("SELECT AAA_003 FROM {0}..AAA_003_W ", mCompany);
: ^^^^
: 上面那個{0}右邊有兩個小點,是代表什麼意思呢??
SQL Server 看你用的版本,早期的物件全名是: server.db.owner.object,
SQL Server 2005 版之後改成 instance.db.schema.object,其中的 schema
就想像成是「分類」名稱。
舉例來說,我想查 Yukon 這部 Server 的 mlb 資料庫的 game 資料表:
select * from yukon.mlb.dbo.game
...這樣子的全名有點長,於是--
1. Server 名稱直接省略, 因為連線時一定已指明 Server 或 Instance 了。
2. 往往連線時也會指定或 use 講明 DbName,所以,DbName 可以再省掉。
3. 如果要存取的物件正好分類在目前連線帳號的 Default Schema,那麼名稱
的第三個部分也可省略。
4. 就算不是第三項指出的情形,如果物件歸類在 dbo 這個schema,dbo 也可
以省略不寫,反正東西找不到,SQL Server 最後還是會看看 dbo 這一區。
所以,我們經常就只看到這樣的寫法:
select * from game
如果目前帳號也有權限查 nba 資料庫的資料,指令可以這樣寫:
select * from nba.dbo.game
或者寫成
select * from nba..game
這樣,就是你問到的寫法了。原程式設計師是將 {0} 代換成 mCompany 的值
(也許各公司的資料分放在不同資料庫),.. 只是單純只是省略 schema。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.75.44
推
07/19 00:09, , 1F
07/19 00:09, 1F
→
07/19 00:24, , 2F
07/19 00:24, 2F
推
07/21 11:45, , 3F
07/21 11:45, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章