Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

You are not connected. Please login or register

Chuyển đến trang : 1, 2  Next

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 2 trang]

lean202008

lean202008

Thành Viên
Theo tinh thần là tuần này nhóm chúng ta đã bước sang giai đoạn chinh phục thử thách Xuc dong .Hiện mình chỉ nắm được 1 số danh sách đăng ký chấp nhận thử thách đặt ra,còn 1 số thành viên còn lại thì sao nhỉ Gì vậy ,có nên đưa vào "sổ đen" không đây!(mình có quyền mà Cười vui ).Và sau đây là 1 số phân công cho các bạn hoàn thành gấp vào thứ 7 tuần này cho mình.Không còn thời gian nữa đâu. Với tinh thần các bạn làm quen các lệnh trên SQL server trước đã rồi chuyển wa Oracle sau. Còn lại những thành viên không có trên danh sách dưới đây, nếu trong tuần này mà mình không liên lạc được thì các bạn biết số phận của mình ra sao rồi đó(nói vậy có bị ăn đòn không nữa đây Hết nói ):


1/Từ câu 1-3

Phan Duy Đức (026)

2/Từ câu 4-6

Trần Hoàng Vũ (187)

3/Từ câu 7-8
Đỗ Thị Liên Quỳnh (115)

4/Từ câu 9-10
Lê Văn An (001)

5/Từ câu 11-13
Hoàng Ngọc Vân (180)

6/Từ câu 14-16
Trần Thị Hồng (052)

7/Từ câu 17-18
Nguyễn Phúc Hiền (040)

8/Từ câu 19-20
Phạm Cao Cường (013)

9/Từ câu 21-22
Lê Quang Sáng (116)

10/Từ câu 23-25
Vũ Anh Phong (100)


Về vấn đề tài liệu mình định upload lên cho các bạn nhưng cứ treo hoài, bực mình thật. Nếu upload không được thì các bạn đem dùm USB mình copy cho, hay là tới Tài lớp trưởng để lấy dùm mình nha. Bạn nào có rồi share wa cho mấy bạn khác nha. Làm xong gởi wa yahoo mail dùm mình nha: [You must be registered and logged in to see this link.] ,thamtukindaichi18@yahoo.com

nhox_IT

nhox_IT

Thành Viên
thủ lĩnh ui...sao nói post mấy câu mẫu cho dân chúng mùk...hjxhjx.. Hizhiz

lean202008

lean202008

Thành Viên
tài liệu giai đoạn 1 thì Tài lớp trưởng đặt pass mất oài. Nên không giải nén soure code được. Chỉ có phần demo quay lại quá trình làm thôi. Các bạn download về tham khảo trước đi. Mai mình lên lớp lấy file không có pass rồi upload lên cho các bạn. Lớp trưởng quên pass rồi mới đau chứ.
[You must be registered and logged in to see this link.]

lean202008

lean202008

Thành Viên
14.1.THỦ TỤC
Một nhóm các lệnh thực hiện chức năng nào đó có thể được gom lại trong một thủ tục (procedure) nhằm làm tăng khả năng xử lý, khả năng sử dụng chung, tăng tính bảo mật và an toàn dữ liệu, tiện ích trong phát triển.
Thủ tục có thể được lưu giữ ngay trong database như một đối tượng của database, sẵn sàng cho việc tái sử dụng. Thủ tục lúc này được gọi là Store procedure. Với các Store procedure, ngay khi lưu giữ Store procedure, chúng đã được biên dịch thành dạng p-code vì thế có thể nâng cao khả năng thực hiện.

14.1.1. Tạo thủ tục
Ta có thể tạo thủ tục trực tiếp bằng dòng lệnh sau: Cú pháp:
CREATE [OR REPLACE] PROCEDURE procedure_name
[(argument1 [mode1] datatype1,
argument2 [mode2] datatype2,
...)]
IS | AS
BEGIN
PL/SQL Block;
END;
Với:
procedure_name Tên thủ tục
argument Tên tham số
mode Loại tham số: IN hoặc OUT hoặc IN OUT,
mặc định là IN
datatype Kiểu dữ liệu của tham số
PL/SQL Block Nội dung khối lệnh SQL và PL/SQL trong
thủ tục
Ví dụ:
CREATE OR REPLACE PROCEDURE change_sal
(p_Percentage IN number,
p_Error OUT varchar2,
)
IS
v_User_exp Exception;
BEGIN
IF p_Percentage < 0 THEN
RAISE v_User_exp;
END IF;

UPDATE emp
SET sal = sal*p_Percentage/100;
EXCEPTION
Oracle cơ bản - SQL và PL/SQL

WHEN v_User_exp THEN
p_Error Ko hiểu ‘Lỗi: Phần trăm nhỏ hơn 0’; RETURN;
WHEN others THEN
p_Error Ko hiểu ‘Lỗi: ‘ || SQLERRM;
END;


Với việc tạo các thủ tục thông qua câu lệnh, ta có thể dễ dàng tạo các script chứa các thủ tục cần thiết khi tạo mới một database.
Một cách khác, ta có thể tạo mới hay sửa đổi thủ tục thông qua công cụ của Oracle. Trong chương trước, ta đã biết cách sử dụng Procedure Builder để tạo mới thủ tục.

lean202008

lean202008

Thành Viên
Cái này trong tài liệu tham khảo của thầy đưa cho. Tụi mình làm phần này cho thật kĩ để nhóm sau còn dựa vào mà làm.Chứ không giang hồ chửi tụi mình thì mệt ah Bó tay

lean202008

lean202008

Thành Viên
các bạn tham khảo. Có gì thắc mắc thì vừa để tin nhắn lên yahoo, vừa gởi trao đổi lên forum lun nha. Cụ thể là topic này. Chứ mình ko thường xuyên 24h/24h bật nick yahoo đâu. Thông cảm nha

lean202008

lean202008

Thành Viên
Quên nữa. Bạn nào làm xong câu nào thì gởi liền cho mình. hay upload lên topic này cho mọi người tham khảo. Trao đổi sửa sai nữa chứ.OK. Chúc làm tốt.

hoangvukenshin

hoangvukenshin

Thành Viên
Ban đầu sao thấy đông mà giờ còn có 10 bạn thế này Xuc dong

lean202008

lean202008

Thành Viên
Alo tin buồn cho chúng ta đây. Mình xin lỗi các bạn vì lơ là trong việc theo dõi đồ án. Nghiã là tuần sau chúng ta phải nộp đồ án cho thầy rồi. Vì vậy thời hạn làm bài chỉ có 1 tuần thôi. Do đó nội trong tuần này chúng ta phải làm xong hết tất cả. Để chúng ta còn điều chỉnh và demo đoạn code. Mong các bạn thông cảm nha.

lean202008

lean202008

Thành Viên
đính chính lại thứ 6 chúng ta sẽ nộp tất cả các câu cho mình. Theo SQL cũng được. Sau đó chúng ta sẽ làm tiếp các câu đó trên Oracle và nộp lại trong chủ nhật tuần này.Các bạn thông cảm cho mình mà hãy thức sáng đêm mà làm cho tốt nha. Còn về vấn đáp thì sáng mai mình sẽ đi theo Nhóm 4 để xem cách vấn đáp, học hỏi kinh nghiệm và những câu hỏi thầy đặt ra. Các bạn làm nhanh nha. Chúc các bạn làm tốt.

lean202008

lean202008

Thành Viên
phần tạo bảng cho các bạn đây----> [You must be registered and logged in to see this link.]

còn về phần insert dữ liệu thì các bạn cho ví dụ vài các cũng được có gì mình sẽ upload lên tiếp cho các bạn. Bắt đầu 1 tuần không ngủ cho chúng ta rồi các bạn cố gắng lên nha.

vuanhphong

vuanhphong

Thành Viên
day la cau 18 lam theo sql minh up len cho cac ban tham khao ngay mai minh up 6 cau con lai tu 18->25 ha. sau do chung minh cung chuyen sang oracle sau. chuc cac ban lam tot.
minh khong biet up theo duong dan.cac ban chiu kho dich ra
--câu 18:
create proc cau18
@ID varchar(15),@tonggiatri float output
as
if not exists(select * from hopdong where @ID=ID)
begin
print N'ID hợp đồng nhap vao không tồn tại'
end
else
begin
declare cursor_1 cursor for select IDhopdong from chitiethopdong where IDhopdong=@ID
open cursor_1
declare @IDhopdong varchar(15)
Fetch next from cursor_1 into @IDhopdong
while(@@Fetch_status=0)
begin
declare @phantramthuesuat float
set @phantramthuesuat=(select ts.phantram from chitiethopdong cthd,thuesuat ts
where @IDhopdong=cthd.IDhopdong and cthd.IDthuesuat=ts.ID)
update chitiethopdong
set giachuachietkhau=soluong*giaban,
tienchietkhau=soluong*giaban*chietkhau,
giasauchietkhau=giachuachietkhau-tienchietkhau,
tienthue=(soluong*giaban-tienchietkhau)*@phantramthuesuat,
giasauthue=soluong*giaban-tienchietkhau+tienthue
where IDhopdong=@IDhopdong
Fetch next from cursor_1 into @IDhopdong

end
close cursor_1
deallocate cursor_1
set @tongiatri=(select sum(cthd.giasauthue)from chitiethopdong cthd
where @ID=cthd.IDhopdong group by IDhopdong)
update hopdong
set tonggt=@tonggiatri
where @ID=ID
end
go
declare @tonggt float
exec cau18 '@ID',@tonggt
select @tonggt[code]

lean202008

lean202008

Thành Viên
chú ý là phần tạo bảng của chúng ta là làm trên Oracle nên khi bỏ vào SQL, nó sẽ báo lỗi. Vì vậy các bạn làm trực tiếp trên Oracle hay muốn làm thử ý tưởng trên SQL rồi chỉnh lại Oracle cũng được.

thanhtai_tt

thanhtai_tt

Thành Viên
Xin lỗi mấy u nhóm 5 vì sự cố quên pass cái Script giai đoạn 1, Nhưng T cũng đã đưa đủ rồi đó...Thấy tinh thần nhóm 5 cao quá ta..Làm đồ án mà thức đêm như coi đá banh vậy,,,, Chúc mấy u hoàn thành tốt nha..!!

lean202008

lean202008

Thành Viên
minh upload them tai lieu phan insert cua lop B cho cac ban, de ma kiem tra xem lam dung hay khong. Ma nho la phai lam co chu thich day du nha. Hoi sang ong thay hoi nhieu lam. Ko chu thich thi ko biet trinh bay ra sao nua.------>http://www.mediafire.com/?1xi53iy1zzq
May ko go dau dc nen cac ban thong cam.

vuanhphong

vuanhphong

Thành Viên
chi thay doi kieu du lieu sang oracle la xong con code co thay thay doi ko nhieu lam y trang nhu sql ah

lean202008

lean202008

Thành Viên
Phong ơi ! làm xong upload tiếp cho mấy bạn tham khảo nha. Thông báo cho các bạn nhóm 5. Là chiều chủ nhật, các bạn chịu khó ở lại để chúng mình trao đổi cách làm. Và hướng giải quyết hiệu quả nhất.

vuanhphong

vuanhphong

Thành Viên
lam duoc tu cau 18->25 nhung ko biet up load theo duong dan copy vao thi lon xon so cac ban ko dich dc

lean202008

lean202008

Thành Viên
vậy gởi wa yahoo cho An đi.
[You must be registered and logged in to see this link.]

lean202008

lean202008

Thành Viên
Phong cho An xin số điện thoại liên lạc và yahoo mail nha. Chứ gmail ko chat dc

vuanhphong

vuanhphong

Thành Viên
nhan di ma up load nha. phong gui day mo mail di

vuanhphong

vuanhphong

Thành Viên
yahoomail nay:traitimmuathu1013

lean202008

lean202008

Thành Viên
nhận được rồi để An gởi cho mấy bạn tham khảo

[You must be registered and logged in to see this link.]

vuanhphong

vuanhphong

Thành Viên
tat nhien con chay du lieu xem chay dung hay sai nua cac ban test thu xem roi xua sai

lean202008

lean202008

Thành Viên
Oracle cho phép tạo, biên dịch và lưu trữ các chương trình con như là các đối tượng bên trong CSDL.

Một nhóm các lệnh thực hiện chức năng nào đó có thể được gom lại trong một thủ tục (procedure) nhằm làm tăng khả năng xử lý, khả năng sử dụng chung, tăng tính bảo mật và an toàn dữ liệu, tiện ích trong phát triển ứng dụng.


Ta có thể tạo thủ tục bằng dòng lệnh sau:

Cú pháp:
CREATE [OR REPLACE] PROCEDURE procedure_name [(argument1 [mode1] datatype1, argument2 [mode2] datatype2, ...)]
IS | AS
[Khai báo các biến cục bộ];
BEGIN
[Các lệnh thi hành];
EXCEPTION
[Lệnh điều khiển lỗi];
END;

Với:
procedure_name Tên thủ tục
argument Tên tham số
mode Loại tham số: IN hoặc OUT hoặc IN OUT, mặc định là IN
datatype Kiểu dữ liệu của tham số

Ví dụ 1:Tạo thủ tục với loại tham số là IN

SQL> CREATE OR REPLACE PROCEDURE raise_salary
(p_dept IN emp.deptno%TYPE)
IS
BEGIN
UPDATE emp SET sal = sal * 1.10
WHERE deptno = p_dept;
END raise_salary;
/
Thi hành thủ tục vừa tạo
SQL> EXECUTE raise_salary (10);


Ví dụ 2:Tạo thủ tục với loại tham số là IN và OUT

SQL> CREATE OR REPLACE PROCEDURE query_emp
( p_id IN employees.employee_id%TYPE,
p_name OUT employees.last_name%TYPE,
p_salary OUT employees.salary%TYPE)
IS
BEGIN
SELECT last_name, salary
INTO p_name, p_salary
FROM employees
WHERE employee_id = p_id;
END query_emp;
/
Thi hành thủ tục vừa tạo
SQL> VARIABLE g_name VARCHAR2(25)
SQL> VARIABLE g_sal NUMBER
SQL> EXECUTE query_emp(171, :g_name, :g_sal, :g_comm);
SQL> PRINT g_name g_sal



Ví dụ 3:Tạo thủ tục với loại tham số là IN OUT

SQL> CREATE OR REPLACE PROCEDURE format_phone
(phone_no IN OUT VARCHAR2) IS
BEGIN
phone_no Ko hiểu '(' || SUBSTR(phone_no,1,3) || ')' || SUBSTR(phone_no,4,3) ||
'-' || SUBSTR(phone_no,7);
END format_phone;
/

Thi hành thủ tục vừa tạo
SQL> VARIABLE phone_no VARCHAR2(15)
SQL> EXECUTE phone_no Ko hiểu '8006330575'
SQL> PRINT phone_no
SQL> EXECUTE format_phone (phone_no)
SQL> PRINT phone_no

Sponsored content


Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 2 trang]

Chuyển đến trang : 1, 2  Next

Permissions in this forum:
Bạn không có quyền trả lời bài viết