Oracle

Монгол Хэрэглэгчидэд Зориулсан Программчлал, Программ хангамжууд...
Монгол бичгээр бичдэг Notepad
Латинаар галиглаад бичингүүт шууд криллрүү хөрвүүлдэг гарын драйвер

Зохицуулагчид: Computer software, Computer Hardware

Хэрэглэгчийн аватар
n3xus
Хаанчлагч Гишvvн
Хаанчлагч Гишvvн
Бичлэгүүд: 1149
Нэгдсэн: 9-р сар.12.06 3:08 pm

Oracle

Бичлэг Бичсэн n3xus »

Oracle ийн талаар ярилций
Хэрэглэгчийн аватар
cool_XXX
foRuMer
<font color=#000099>foRuMer</font>
Бичлэгүүд: 750
Нэгдсэн: 10-р сар.25.05 2:21 pm
Байршил: Wherever
Contact:

Re: Oracle

Бичлэг Бичсэн cool_XXX »

n3xus ODP.NET дээр ажилладагуу?
full
Хэрэглэгчийн аватар
n3xus
Хаанчлагч Гишvvн
Хаанчлагч Гишvvн
Бичлэгүүд: 1149
Нэгдсэн: 9-р сар.12.06 3:08 pm

Re: Oracle

Бичлэг Бичсэн n3xus »

Нээх сүртэй Про нь ч хайшаан. Гэхдээ .Net ээс Ораклруу хандаж ажилладаг.
Хэрэглэгчийн аватар
Bex_Zex
Гишvvн
Бичлэгүүд: 1175
Нэгдсэн: 3-р сар.29.05 5:15 pm
Байршил: Сайныг дагавал сарлуу ниснэ.

Re: Oracle

Бичлэг Бичсэн Bex_Zex »

Oracle-н яг юуг нь ярилцах юм? DB?
ХОРВОО
Хэрэглэгчийн аватар
n3xus
Хаанчлагч Гишvvн
Хаанчлагч Гишvvн
Бичлэгүүд: 1149
Нэгдсэн: 9-р сар.12.06 3:08 pm

Re: Oracle

Бичлэг Бичсэн n3xus »

Query, Optimization, DBA tool uud юу ч байж болно ш дээ
Хэрэглэгчийн аватар
cool_XXX
foRuMer
<font color=#000099>foRuMer</font>
Бичлэгүүд: 750
Нэгдсэн: 10-р сар.25.05 2:21 pm
Байршил: Wherever
Contact:

Re: Oracle

Бичлэг Бичсэн cool_XXX »

connection оо яаж үүсгэсэн бэ?
би tnsnames.орагаар холбосон.
full
Хэрэглэгчийн аватар
n3xus
Хаанчлагч Гишvvн
Хаанчлагч Гишvvн
Бичлэгүүд: 1149
Нэгдсэн: 9-р сар.12.06 3:08 pm

Re: Oracle

Бичлэг Бичсэн n3xus »

cool_XXX написал:connection оо яаж үүсгэсэн бэ?
би tnsnames.орагаар холбосон.
Хэрэв Oracle Client ашиглаж байгаа бол тэгсэн нь дээр.

Oracle Instant Client ашиглаж байвал Бүх TnsNames ээ нэг Helper Class Дотор оруулаад тэрнийгээ дуудаад байвал амар.
OXGETR
Эх Оронч Гишvvн
Эх Оронч Гишvvн
Бичлэгүүд: 371
Нэгдсэн: 3-р сар.15.07 4:36 pm

Re: Oracle

Бичлэг Бичсэн OXGETR »

Backup яаж хийцгээж байна?
no edit
tushock
Суу Алдарт Гишvvн
Суу Алдарт Гишvvн
Бичлэгүүд: 148
Нэгдсэн: 9-р сар.01.08 12:16 am
Байршил: UB, Mongolia

Re: Oracle

Бичлэг Бичсэн tushock »

udur bolgon dump file uusgej bgaa. rman bas tohiruulsan. teriigee ch neeh sain ashiglahgui l bn. sergeehdee dump file-aa l ashiglaad bgaa. jijig db bolohoor udurt hiigdeh uurchlult bagatai. muu servertei bhad zunduu sergeedegb san server-ee solisonoos hoish haaya l orj shalgadag bolson
Suup?
tushock
Суу Алдарт Гишvvн
Суу Алдарт Гишvvн
Бичлэгүүд: 148
Нэгдсэн: 9-р сар.01.08 12:16 am
Байршил: UB, Mongolia

Re: Oracle

Бичлэг Бичсэн tushock »

Oracle hed ashiglaj bn daa?
Suup?
tushock
Суу Алдарт Гишvvн
Суу Алдарт Гишvvн
Бичлэгүүд: 148
Нэгдсэн: 9-р сар.01.08 12:16 am
Байршил: UB, Mongolia

Re: Oracle

Бичлэг Бичсэн tushock »

Linux uu? Windows server uu?
Suup?
Хэрэглэгчийн аватар
cool_XXX
foRuMer
<font color=#000099>foRuMer</font>
Бичлэгүүд: 750
Нэгдсэн: 10-р сар.25.05 2:21 pm
Байршил: Wherever
Contact:

Re: Oracle

Бичлэг Бичсэн cool_XXX »

Linux oracle os red hat dr yum bn.
full
Хэрэглэгчийн аватар
ochiroo13
Хаанчлагч Гишvvн
Хаанчлагч Гишvvн
Бичлэгүүд: 1184
Нэгдсэн: 12-р сар.17.08 11:20 am

Re: Oracle

Бичлэг Бичсэн ochiroo13 »

CUSTOMER харилцагчдыг хадгалах table
LOANACCOUNT зээлийн данс хадгалах table
CUSTOMER болон LOANACCOUNT гэсэн 2 table маань 2уулаа Харилцагчийн ID агуулах CUSTID талбартай ба зорилго нь Харилцагчын авсан зээлийн данснуудыг дугаарлах зорилготой юм. LOANACCOUNT-н LOANNUM гэсэн талбар дээр дугаарлана.

Код: Бүгдийг сонгох

for (int i = 0; i < CUSTOMER.count; i++)
{
	for (int i = 0; i < (SELECT FROM LOANACCOUNT WHERE LOANACCOUNT.CUSTID = CUSTOMER.CUSTID).count; i++)
	{
		UPDATE LOANACCOUNT.LOANNUM = i+1;
	}
}
Энэн шиг давталыг Oracle дээр яаж давтах вэ? Cursor ашиглах юм шиг байган тэхдээ сайн ойлгодоггүйэ туслаач хүмүүсээ.
:brows:
Хэрэглэгчийн аватар
n3xus
Хаанчлагч Гишvvн
Хаанчлагч Гишvvн
Бичлэгүүд: 1149
Нэгдсэн: 9-р сар.12.06 3:08 pm

Re: Oracle

Бичлэг Бичсэн n3xus »

ochiroo13 написал:CUSTOMER харилцагчдыг хадгалах table
LOANACCOUNT зээлийн данс хадгалах table
CUSTOMER болон LOANACCOUNT гэсэн 2 table маань 2уулаа Харилцагчийн ID агуулах CUSTID талбартай ба зорилго нь Харилцагчын авсан зээлийн данснуудыг дугаарлах зорилготой юм. LOANACCOUNT-н LOANNUM гэсэн талбар дээр дугаарлана.

Код: Бүгдийг сонгох

for (int i = 0; i < CUSTOMER.count; i++)
{
	for (int i = 0; i < (SELECT FROM LOANACCOUNT WHERE LOANACCOUNT.CUSTID = CUSTOMER.CUSTID).count; i++)
	{
		UPDATE LOANACCOUNT.LOANNUM = i+1;
	}
}
Энэн шиг давталыг Oracle дээр яаж давтах вэ? Cursor ашиглах юм шиг байган тэхдээ сайн ойлгодоггүйэ туслаач хүмүүсээ.
Миний бодлоор loop бичихгүй зүгээр л MERGE INTO ашиглавал зүгээр байх. Бас чиний эцсийн зорилгийг чинь ойлгосонгүй.

Баазын table үүд бол Excel ийн хуудас биш харин Программын object юм шүү. Ингэж ROW Number update хийдэг зүйл буруу л санагдаж байна. Дэс дугаар харуулах гэж байгаа бол зүгээр л SELECT дээрээ бичцэн нь дээр.

Энд тестлээд үзээрэй http://www.sqlfiddle.com/#!4/8eea6/13

Код: Бүгдийг сонгох

MERGE INTO loan_account la
USING (SELECT LOAN_ACCOUNT_ID,
       ROW_NUMBER() OVER (PARTITION BY CUSTOMER_ID ORDER BY LOAN_ACCOUNT_ID) AS UPDATE_ORDER
       FROM LOAN_ACCOUNT) s
ON (la.LOAN_ACCOUNT_ID = s.LOAN_ACCOUNT_ID)
WHEN MATCHED THEN UPDATE SET la.LOANNUM = s.UPDATE_ORDER;


SELECT * FROM loan_account la
LEFT JOIN customer c ON la.customer_id = c.customer_id;
Хэрэглэгчийн аватар
ochiroo13
Хаанчлагч Гишvvн
Хаанчлагч Гишvvн
Бичлэгүүд: 1184
Нэгдсэн: 12-р сар.17.08 11:20 am

Re: Oracle

Бичлэг Бичсэн ochiroo13 »

n3xus написал:
ochiroo13 написал:CUSTOMER харилцагчдыг хадгалах table
LOANACCOUNT зээлийн данс хадгалах table
CUSTOMER болон LOANACCOUNT гэсэн 2 table маань 2уулаа Харилцагчийн ID агуулах CUSTID талбартай ба зорилго нь Харилцагчын авсан зээлийн данснуудыг дугаарлах зорилготой юм. LOANACCOUNT-н LOANNUM гэсэн талбар дээр дугаарлана.

Код: Бүгдийг сонгох

for (int i = 0; i < CUSTOMER.count; i++)
{
	for (int i = 0; i < (SELECT FROM LOANACCOUNT WHERE LOANACCOUNT.CUSTID = CUSTOMER.CUSTID).count; i++)
	{
		UPDATE LOANACCOUNT.LOANNUM = i+1;
	}
}
Энэн шиг давталыг Oracle дээр яаж давтах вэ? Cursor ашиглах юм шиг байган тэхдээ сайн ойлгодоггүйэ туслаач хүмүүсээ.
Миний бодлоор loop бичихгүй зүгээр л MERGE INTO ашиглавал зүгээр байх. Бас чиний эцсийн зорилгийг чинь ойлгосонгүй.

Баазын table үүд бол Excel ийн хуудас биш харин Программын object юм шүү. Ингэж ROW Number update хийдэг зүйл буруу л санагдаж байна. Дэс дугаар харуулах гэж байгаа бол зүгээр л SELECT дээрээ бичцэн нь дээр.

Энд тестлээд үзээрэй http://www.sqlfiddle.com/#!4/8eea6/13

Код: Бүгдийг сонгох

MERGE INTO loan_account la
USING (SELECT LOAN_ACCOUNT_ID,
       ROW_NUMBER() OVER (PARTITION BY CUSTOMER_ID ORDER BY LOAN_ACCOUNT_ID) AS UPDATE_ORDER
       FROM LOAN_ACCOUNT) s
ON (la.LOAN_ACCOUNT_ID = s.LOAN_ACCOUNT_ID)
WHEN MATCHED THEN UPDATE SET la.LOANNUM = s.UPDATE_ORDER;


SELECT * FROM loan_account la
LEFT JOIN customer c ON la.customer_id = c.customer_id;

Маш их баярлалаа. Би харин өөрөө сайн мэдэхгүй болохоор хүнээс асуусан чинь cursor ашиглана гэхээр нь тэрийг зөндөө хайлаа. Loop ашиглахгүй байх нь илүү амар бас оновчтой байсан юм билээ. Доорх аргаар шийдсэн арай болхи байж магадгүй.

Код: Бүгдийг сонгох

CREATE TABLE LOANACNT_TEMP
AS
   (SELECT 
           ROW_NUMBER () OVER (PARTITION BY CUSTNO ORDER BY CUSTNO, ADVDATE)
              LOANNUM
      FROM LOANACNT);


UPDATE LOANACNT R
   SET R.LOANNUM =
          (SELECT TEMP.LOANNUM
             FROM LOANACNT_TEMP TEMP
            WHERE R.ACNTNO = TEMP.ACNTNO);

DROP TABLE LOANACNT_TEMP;
COMMIT;
Сэтгэл гаргаад бичээд өгсөнд маш их баярлалаа гээд дахиад хэлчихье. :]
:brows:
Хэрэглэгчийн аватар
Икс
Дархан Гишvvн
Дархан Гишvvн
Бичлэгүүд: 207
Нэгдсэн: 2-р сар.25.11 3:56 pm
Байршил: on a melancholy hill...

Re: Oracle

Бичлэг Бичсэн Икс »

Oracle ADF дээр ажилладаг хүн байна уу?
I'll find u..
csasoongner
Өсөх Ирээдvйтэй Гишvvн
Өсөх Ирээдvйтэй Гишvvн
Бичлэгүүд: 7
Нэгдсэн: 1-р сар.10.17 5:44 pm

Re: Oracle

Бичлэг Бичсэн csasoongner »

Сэтгэгдэл хариулах

“Монгол Программчлал - Монголжихуй” руу буцах