Re: [問題] stored procedure參數問題

看板C_Sharp作者 (談無慾)時間8年前 (2016/05/24 21:30), 編輯推噓1(1033)
留言34則, 9人參與, 最新討論串2/2 (看更多)
大家好 再問一下 C#上的stored procedure問題 我的stored procedure 有兩份 一份在SQL SERVER上 一份在C#上 檔名都一樣 請問一下 如果我改了其中一份CODE(EX在C#上的 SP改)這樣我SQL SERVER上的也要改才行嗎 c#在跑sp的時候到底是以c#本身的sp為主還是sql server上的也要參照呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.249.8 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1464096603.A.667.html

05/24 22:28, , 1F
stored procedure不是只放SERVER端嗎?
05/24 22:28, 1F

05/24 22:34, , 2F
你是不是對sp有什麼誤會
05/24 22:34, 2F

05/25 00:18, , 3F
我的確是不太熟悉sp可以麻煩請你解答一下我的疑惑嗎
05/25 00:18, 3F

05/25 00:50, , 4F
sp 是只有放在SQL端,C#負責的是 去SQL呼叫指定sp
05/25 00:50, 4F

05/25 00:51, , 5F
有錯還請指正
05/25 00:51, 5F

05/25 01:05, , 6F
我們的是還會有一個sp在c#內... 檔名是.sql檔
05/25 01:05, 6F

05/25 02:13, , 7F
預存程序是你執行一次Creat procedure就會寫到伺服器的
05/25 02:13, 7F

05/25 02:13, , 8F
,你應該不必在C#再放一份
05/25 02:13, 8F

05/25 02:40, , 9F
以SP來說,你的sql大概是create sp的sql,執行sp是去呼叫
05/25 02:40, 9F

05/25 02:40, , 10F
已經create在SQL server上的sp
05/25 02:40, 10F

05/25 02:40, , 11F
如果你sql裡面的不是create而是直接執行某些動作,就不是sp
05/25 02:40, 11F

05/25 02:43, , 12F
"stored" procedure就是stored在DB裡面的procedure
05/25 02:43, 12F

05/25 06:55, , 13F
我的sql指的是 c#裡面的sql嗎
05/25 06:55, 13F

05/25 09:05, , 14F
檔名.sql可能是你們另外備份的
05/25 09:05, 14F

05/25 21:57, , 15F
我們的SP設計和你說的一樣 檔名.sql只在compile/build時
05/25 21:57, 15F

05/25 21:58, , 16F
才有效果 只要是做版本控管之用
05/25 21:58, 16F

05/25 22:00, , 17F
真正C#在call SP時,還是以當下DB的SP內容為主
05/25 22:00, 17F

05/26 01:16, , 18F
樓上說的我不懂,什麼叫做你的sql在compile/build
05/26 01:16, 18F

05/26 01:16, , 19F
的時候有效果?
05/26 01:16, 19F

05/26 07:18, , 20F
這種設計是為了版本控管 試想下列這種狀況:
05/26 07:18, 20F

05/26 07:20, , 21F
如果直接在DB上的SP直接改內容 有時改錯了或想知道誰改錯
05/26 07:20, 21F

05/26 07:21, , 22F
.sql檔就提供了Commit的歷史資料
05/26 07:21, 22F

05/26 07:24, , 23F
如果直接在DB上的SP直接改內容 改到已經認不出原始SP邏輯
05/26 07:24, 23F

05/26 07:25, , 24F
當你想復原DB上的SP到原始版本 只要在TFS上重新build sln
05/26 07:25, 24F

05/26 07:27, , 25F
就可以將.sql的內容還原(執行)到DB的SP上
05/26 07:27, 25F

05/26 12:39, , 26F
那根compile/build有什麼關係?
05/26 12:39, 26F

05/26 22:04, , 27F
如果你知道ssccg大大的回文在說什 你應該就知道這種設計
05/26 22:04, 27F

05/26 22:05, , 28F
如果不懂得話, don't bother...
05/26 22:05, 28F

05/26 23:08, , 29F
我是懂他說的 但還是不太了解你說的..還是你要說的是
05/26 23:08, 29F

05/26 23:09, , 30F
deploy的時候?
05/26 23:09, 30F

05/26 23:10, , 31F
如果是deploy的時候會決定要把db的sp更換成哪一個
05/26 23:10, 31F

05/26 23:10, , 32F
版本我是可以理解的 compile我就不太懂了
05/26 23:10, 32F

05/27 08:15, , 33F
大概是#ifdef xxx {CREATE PROCEDURE ...
05/27 08:15, 33F

05/27 13:05, , 34F
樓上這樣好像也是個做法!
05/27 13:05, 34F
文章代碼(AID): #1NH5TRPd (C_Sharp)
文章代碼(AID): #1NH5TRPd (C_Sharp)