最簡(jiǎn)單的方法是:
10年積累的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有吉安免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1. 在DELPHI中添加adoconnection 控件。連到你要修改的數(shù)據(jù)庫(kù),active屬性改成true,說(shuō)明數(shù)據(jù)庫(kù)連接成功
2. 添加adotable控件,connection 屬性填上第1步中的adoconnection 名稱(chēng)。tablename填上你要修改的表,active屬性改成true,說(shuō)明數(shù)據(jù)表連接成功
或添加adoquery控件,設(shè)置與adotable稍有不同,就是沒(méi)有tablename屬性,需要在SQL屬性中輸入你連接表的sql語(yǔ)句。
3.添加data access 中的 datasource控件。dataset屬性設(shè)置成你第2步中的adotable或adoquery控件名稱(chēng)。
4.在dbgrid控件(可能是你說(shuō)的列表框吧)的datasource屬性中設(shè)置成第3步中datasource控件的名稱(chēng)。
這時(shí),數(shù)據(jù)表中的數(shù)據(jù)已經(jīng)顯示到了dbgrid中。
5. 查看以上用到的adotable和dbgrid的readonly屬性,全部改成false(默認(rèn)false)
6. 這時(shí),你修改列表框中的值后,鼠標(biāo)點(diǎn)另一行后,數(shù)據(jù)會(huì)自動(dòng)保存到oracle表。
把查出來(lái)的數(shù)據(jù)做一個(gè)表g,a.rsc_status_cd as rsc_status
使用update g set g.rsc_status = '43'。
使用b表數(shù)據(jù)更新a表,那么where條件是什么,也就是說(shuō),更新a表中哪些數(shù)據(jù),用b表中的哪些數(shù)據(jù)更新,二者的關(guān)系是什么。從你的語(yǔ)句中我看不出b表和a表的關(guān)聯(lián)。
找到關(guān)聯(lián)條件后,通過(guò)關(guān)聯(lián)條件查出的b表數(shù)據(jù)是否唯一,如果不唯一,還是會(huì)出現(xiàn)“返回值多于一行”的錯(cuò)誤。
邏輯結(jié)構(gòu)
它由至少一個(gè)表空間和數(shù)據(jù)庫(kù)模式對(duì)象組成。這里,模式是對(duì)象的集合,而模式對(duì)象是直接引用數(shù)據(jù)庫(kù)數(shù)據(jù)的邏輯結(jié)構(gòu)。模式對(duì)象包括這樣一些結(jié)構(gòu):表、視圖、序列、存儲(chǔ)過(guò)程、同義詞、索引、簇和數(shù)據(jù)庫(kù)鏈等。邏輯存儲(chǔ)結(jié)構(gòu)包括表空間、段和范圍,用于描述怎樣使用數(shù)據(jù)庫(kù)的物理空間。
總之,邏輯結(jié)構(gòu)由邏輯存儲(chǔ)結(jié)構(gòu)(表空間,段,范圍,塊)和邏輯數(shù)據(jù)結(jié)構(gòu)(表、視圖、序列、存儲(chǔ)過(guò)程、同義詞、索引、簇和數(shù)據(jù)庫(kù)鏈等)組成,而其中的模式對(duì)象(邏輯數(shù)據(jù)結(jié)構(gòu))和關(guān)系形成了數(shù)據(jù)庫(kù)的關(guān)系設(shè)計(jì)。
以上內(nèi)容參考:百度百科-Oracle數(shù)據(jù)庫(kù)
1.創(chuàng)建新的用戶(hù);
2.對(duì)已有用戶(hù)進(jìn)行相關(guān)屬性的修改操作。
部分屬性的修改涉及到生產(chǎn)環(huán)境的要申請(qǐng)停業(yè),避免業(yè)務(wù)交易無(wú)法正常進(jìn)行:
1.創(chuàng)建新用戶(hù)對(duì)原有的業(yè)務(wù)無(wú)影響,風(fēng)險(xiǎn)級(jí)別低,但要考慮新用戶(hù)導(dǎo)入的數(shù)據(jù)量,避免數(shù)據(jù)表空間爆滿(mǎn),TEMP空間與歸檔空間不足。
2.修改用戶(hù)密碼:
1)會(huì)導(dǎo)致繼續(xù)使用之前密碼連接數(shù)據(jù)庫(kù)的應(yīng)用出現(xiàn)連接故障,如果該應(yīng)用有重連機(jī)制,超過(guò)嘗試次數(shù)會(huì)導(dǎo)致用戶(hù)被鎖,風(fēng)險(xiǎn)級(jí)別高。
2)會(huì)導(dǎo)致其他庫(kù)上未進(jìn)行修改的 DBLINK,無(wú)法遠(yuǎn)程連接到本數(shù)據(jù)庫(kù),風(fēng)險(xiǎn)級(jí)別 高。
3.修改用戶(hù)默認(rèn)表空間,不影響現(xiàn)有的業(yè)務(wù),風(fēng)險(xiǎn)級(jí)別低。
4.修改用戶(hù)默認(rèn)臨時(shí)表空間,不影響現(xiàn)有的業(yè)務(wù),風(fēng)險(xiǎn)級(jí)別低。
5.修改用戶(hù) profile,會(huì)影響用戶(hù)會(huì)話(huà)的連接配額,如連接會(huì)話(huà)數(shù)、密碼過(guò)期設(shè)定、 空閑時(shí)間、連接時(shí)間等,風(fēng)險(xiǎn)級(jí)別中。
6.修改賬戶(hù)狀態(tài),會(huì)影響會(huì)話(huà)連接數(shù)據(jù)庫(kù),風(fēng)險(xiǎn)級(jí)別高。
7.修改密碼口令過(guò)期,會(huì)影響會(huì)話(huà)連接數(shù)據(jù)庫(kù),風(fēng)險(xiǎn)級(jí)別高。
8.修改用戶(hù)表空間配額,會(huì)影響用戶(hù)在表空間中的使用額度,風(fēng)險(xiǎn)級(jí)別中。
9.修改用戶(hù)權(quán)限,會(huì)影響會(huì)話(huà)的執(zhí)行權(quán)限,風(fēng)險(xiǎn)級(jí)別中。
不管是生產(chǎn)環(huán)境還是測(cè)試環(huán)境,備份永遠(yuǎn)是第一步操作,在評(píng)估時(shí)也要考慮是否有回退的可能,不要拿開(kāi)弓沒(méi)有回頭箭當(dāng)擋箭牌:
1.修改密碼時(shí),提前保存密文密碼,同時(shí)找出到修改庫(kù)的 DBLINK 也要修改。
2.修改用戶(hù)屬性時(shí),提前保存原來(lái)的用戶(hù)屬性信息。
3.同研發(fā)確認(rèn)用戶(hù)需求,確保不影響業(yè)務(wù)。
4.安排變更窗口,停止應(yīng)用。
1.創(chuàng)建新用戶(hù)
2.用戶(hù)屬性修改
3.修改密碼 修改用戶(hù)密碼:
4.修改遠(yuǎn)程庫(kù) DBLINK 的用戶(hù)密碼:
5.修改默認(rèn)表空間及臨時(shí)表空間
6.修改 profile
7.修改賬戶(hù)狀態(tài)(鎖定,解鎖)
8.修改口令過(guò)期
9.修改表空間配額
10.權(quán)限,角色授予與回收
1.重新登陸進(jìn)行賬戶(hù)驗(yàn)證新密碼及賬戶(hù)鎖定狀態(tài)是否符合預(yù)期。
2.在遠(yuǎn)程庫(kù)進(jìn)行 DBLINK 連接驗(yàn)證是否正常。
3.檢查用戶(hù)賬號(hào)狀態(tài)是否正常
4.檢查具體的權(quán)限是否符合要求
5.應(yīng)用啟動(dòng)后,日志是否正常,最后觀察業(yè)務(wù)是否正常進(jìn)行
1.刪除新用戶(hù)
2.修改回用戶(hù)舊密碼:
3.修改遠(yuǎn)程庫(kù) DBLINK 的用戶(hù)密碼:
4.修改默認(rèn)表空間及臨時(shí)表空間
5.修改 profile配置
6.修改賬戶(hù)狀態(tài)(鎖定,解鎖)
7.修改表空間配額
8.權(quán)限,角色授予與回收
1.用戶(hù)舊密碼登錄驗(yàn)證是否正常
2.DBLINK連接是否正常
3.查看用戶(hù)的默認(rèn)表空間與臨時(shí)表空間是否與最初狀態(tài)一致
4.profile配置是否與最初狀態(tài)一致
5.賬戶(hù)的狀態(tài)是否與最初狀態(tài)一致
6.表空間配置是否與最初狀態(tài)一致
7.權(quán)限等是否與最初狀態(tài)一致。
備注:回退方案的驗(yàn)證最重要的就是第一個(gè)步驟的備份與信息記錄。這樣才能驗(yàn)證回退方案是否達(dá)到預(yù)期。
查詢(xún)到的結(jié)果可用for update來(lái)修改。
如:
select?*?from?emp;
查詢(xún)到以下數(shù)據(jù):
此時(shí)語(yǔ)句可改寫(xiě):
select?*?from?emp?for?update;
然后點(diǎn)擊如圖圖標(biāo):
此時(shí)可以修改表中內(nèi)容,如將empno為8888的改成4444。按圖中所示進(jìn)行操作即可。
在把Oracle查詢(xún)結(jié)果轉(zhuǎn)換為SQL Server的時(shí)候要特別當(dāng)心一些不容易注意到的問(wèn)題。
我們知道,T-SQL是SQL Server的語(yǔ)言引擎,而Oracle的語(yǔ)言引擎卻是PLSQL.這兩種查詢(xún)語(yǔ)言都對(duì)
ANSI SQL-92標(biāo)準(zhǔn)進(jìn)行了擴(kuò)展以提供額外的支持力度。你所創(chuàng)建的應(yīng)用程序幾乎都要用到這些補(bǔ)充特性。本文就對(duì)最常用的、非標(biāo)準(zhǔn)的Oracle擴(kuò)展進(jìn)行了說(shuō)明,同時(shí)還要介紹下如何
對(duì)這些擴(kuò)展進(jìn)行轉(zhuǎn)化以用在SQL Server環(huán)境下。
列的選擇
用PLSQL執(zhí)行數(shù)據(jù)查詢(xún)的時(shí)候,F(xiàn)ROM子句是必須的,這同SQL Server的要求是一樣的。 SELECT語(yǔ)句必須選擇針對(duì)的數(shù)據(jù)表。在Oracle數(shù)據(jù)庫(kù)內(nèi)有一種特殊的表DUAL.DUAL表由
Oracle連同數(shù)據(jù)字典一同創(chuàng)建,所有的用戶(hù)都可以用名稱(chēng)DUAL訪(fǎng)問(wèn)該表。這個(gè)表里只有一列DUMMY,該列定義為VARCHAR2
(1)類(lèi)型,有一行值X.
從DUAL表選擇數(shù)據(jù)常被用來(lái)通過(guò)SELECT語(yǔ)句計(jì)算常數(shù)表達(dá)式,由于DUAL只有一行數(shù)據(jù),所以常數(shù)只返回一次。
Oracle下的DUAL查詢(xún)?nèi)缦滤荆?/p>
SELECT
‘x’ FROM dual
而對(duì)等的SQL Server查詢(xún)則是下面這個(gè)樣子:
SELECT ‘x’
連接
Oracle用|| 符號(hào)作為連接符,而SQL Server的連接符是加號(hào):+ .
Oracle查詢(xún)?nèi)缦滤荆?/p>
Select ‘Name’ || ‘Last Name’
From tableName
對(duì)應(yīng)的SQL Server查詢(xún)?nèi)缦滤荆?/p>
Select ‘Name’ + ‘Last Name’
數(shù)字取舍
Oracle數(shù)據(jù)庫(kù)內(nèi)有一個(gè)TRUNC函數(shù),該函數(shù)返回m位十進(jìn)制數(shù)的n位;如果省略m則n就是0位。m的值可以為負(fù),表示截去小數(shù)點(diǎn)左邊m位數(shù)字。
在SQL Server下可以用Round或者Floor.
以下是Oracle查詢(xún):
SELECT
TRUNC(15.79,1) "Truncate" FROM DUAL;
下面是同類(lèi)查詢(xún)的SQL Server版本:
SELECT ROUND(15.79, 0) rounded ,
ROUND(15.79, 0,1) truncated
SELECT FLOOR(ROUND(15.79, 0)),
FLOOR(ROUND(15.79, 0,1) )
在把Oracle查詢(xún)轉(zhuǎn)換為SQL Server的時(shí)候要特別當(dāng)心一些不容易注意到的問(wèn)題。我們知道,T-SQL是SQL Server的語(yǔ)言引擎,而Oracle的語(yǔ)言引擎卻是PLSQL.這兩種查詢(xún)語(yǔ)言都對(duì)
ANSI SQL-92標(biāo)準(zhǔn)進(jìn)行了擴(kuò)展以提供額外的支持力度。你所創(chuàng)建的應(yīng)用程序幾乎都要用到這些補(bǔ)充特性。本文就對(duì)最常用的、非標(biāo)準(zhǔn)的Oracle擴(kuò)展進(jìn)行了說(shuō)明,同時(shí)還要介紹下如何
對(duì)這些擴(kuò)展進(jìn)行轉(zhuǎn)化以用在SQL Server環(huán)境下。
列的選擇
用PLSQL執(zhí)行數(shù)據(jù)查詢(xún)的時(shí)候,F(xiàn)ROM子句是必須的,這同SQL Server的要求是一樣的。 SELECT語(yǔ)句必須選擇針對(duì)的數(shù)據(jù)表。在Oracle數(shù)據(jù)庫(kù)內(nèi)有一種特殊的表DUAL.DUAL表由
Oracle連同數(shù)據(jù)字典一同創(chuàng)建,所有的用戶(hù)都可以用名稱(chēng)DUAL訪(fǎng)問(wèn)該表。這個(gè)表里只有一列DUMMY,該列定義為VARCHAR2
(1)類(lèi)型,有一行值X.
從DUAL表選擇數(shù)據(jù)常被用來(lái)通過(guò)SELECT語(yǔ)句計(jì)算常數(shù)表達(dá)式,由于DUAL只有一行數(shù)據(jù),所以常數(shù)只返回一次。
Oracle下的DUAL查詢(xún)?nèi)缦滤荆?/p>
SELECT
‘x’ FROM dual
而對(duì)等的SQL Server查詢(xún)則是下面這個(gè)樣子:
SELECT ‘x’
連接
Oracle用|| 符號(hào)作為連接符,而SQL Server的連接符是加號(hào):+ .
Oracle查詢(xún)?nèi)缦滤荆?/p>
Select ‘Name’ || ‘Last Name’
From tableName
對(duì)應(yīng)的SQL Server查詢(xún)?nèi)缦滤荆?/p>
Select ‘Name’ + ‘Last Name’