全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1017
推到 Plurk!
推到 Facebook!

如何更改Table的擁有者

尚未結案
cubi
初階會員


發表:56
回覆:94
積分:35
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-24 15:22:09 IP:219.71.xxx.xxx 未訂閱
請教先進 若有200個Table,擁有者皆為user1,有什麼較快的方法將這200個Table 的擁有者改為user2,不用一個一個去改 感激不盡,謝謝~~
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-24 16:23:19 IP:61.62.xxx.xxx 未訂閱
Hi, 若是 MSSQL 請使用 sp_changeobjectowner 來操作, 使用例如下, sp_changeobjectowner 'user1.table1', 'user2'
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-25 09:52:33 IP:61.229.xxx.xxx 未訂閱
我用的是Sybase,不過我想原理是一樣的:    1.首先由資料庫的資料字典/系統目錄裡取得存放table名稱的地方,在Sybase裡是sysobjects這個table    2.藉由sysobjects內的記錄,以SQL指令來組合出您要執行的sql指令.例如,正常您可能會以呼叫sp_changeobjectowner 'user1.table1', 'user2'的方式來改變擁有者,這時,您必需先設計SQL指令以產生以上的結果,如下:
 
SELECT 'sp_changeobjectowner ''user1.'+name+''', ''user2'''
  FROM sysobjects
 WHERE type = 'U'
看得懂嗎?在sybase裡,name就是sysobjects裡的欄位名稱,裡面存放所有table的名稱,藉由這裡的資料以產生您的執行的SQL指令 3.接著執行這道SQL指令,於是執行的結果就是200道您要改變擁有者的指令了, 有點繞口,總之原理就是以SQL指令來產生200道您要改變擁有者的指令,不曉得您了解沒有?
cubi
初階會員


發表:56
回覆:94
積分:35
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-26 17:10:56 IP:203.187.xxx.xxx 未訂閱
感謝先進的回答,可以了,但因timhuang先回答,所以只能把分數給timhuang 了,再次感謝2位先進,謝謝
系統時間:2024-06-29 23:51:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!