PDA

View Full Version : Stored Procedure ?



npqk
16-01-2005, 08:04
Cho mình hỏi cách chạy các Stored procedure trong Oracle làm sao ? Có công cụ nào khách (ngòai cách viết trong SQLPlus , SQLWorksheet) hỗ trợ viết các Stored không ?

cucondecon76
16-01-2005, 09:36
Bạn có thể dung SQL*Navigator thiết kế các Func, proc, Package, Trigg ......
,Nói chung là rất nhiều thứ. (đây la tool dẽ học va rất fổ dụng hiện nay)


Có thể chạy Proc trong SQL*Pluss như sau: exec Tên_proc(....tên biến);
Còn func thì làm như sau: Select Tên_func(....tham biến) from dual;

Chúcthành công.

Cyber
17-01-2005, 08:27
và TOAD nữa. Có hình có ếch ộp :D :D. Đều là của GUEST cả.

ti_sun
17-01-2005, 14:45
Thêm nè:
PLSQL Developer
info: http://www.allroundautomations.com

yedc2001
20-01-2005, 18:35
Cho mình hỏi cách chạy các Stored procedure trong Oracle làm sao ? Có công cụ nào khách (ngòai cách viết trong SQLPlus , SQLWorksheet) hỗ trợ viết các Stored không ?

DBA Studio cho Oracle 8i
Enterprise Manager Console cho Oracle 9i

therebex
20-01-2005, 21:39
con ếch ộp TOAD là tôi thích nhất đấy

npqk
21-01-2005, 02:52
cho mình hỏi TOAD là phần mềm có sẵn khi cài Oracle hay là phải cài thêm vào, nếu phải cài thêm cho mình địa chỉ Download luôn nha , cảm ơn nhiều !

ti_sun
24-01-2005, 13:24
SQL*Navigator, TOAD, PLSQL Developer là các sản phẩm của hãng thứ 3.
Với TOAD và SQL Navigator, bạn có thể tham khảo tại : http://www.quest.com/oracle/
Ở đây chỉ có các bản trial. Nếu muốn bản full thì tham khảo ở : www.tonthattung.com.vn.

ChipBom
01-07-2005, 11:12
cho mình hoi nếu chạy các hàm và thủ tục trong Pakages thì phải làm sao

ChipBom
01-07-2005, 17:21
Cấp cứu!!!!!. Mình có một pakages có tên C trong đấy mình viết hàm A(...tham số..) trong hàm này mình sử dụng một thư viện tự tạo B.dll. Và để chạy hàm trên trong SQL*Plus mình sử dụng lệnh
select C.A(tham số) from dual;
thì có lỗi như sau:
ORA-28575: unable to open RPC connection to external procedure agent
ORA-12154: TNS:could not resolve service name
Các bạn ơi giúp mình với minh đang rất cần sửa lỗi này

quanlh
03-07-2005, 21:12
ORA-28575: thử xem RPC service của Window đã được start chưa
ORA-12154: vào oracle\ora...\network\admin
Tìm file tnsnames.ora, mở ra xem đã có service_name mà mình sử dụng trong lệnh connect trong store procedure chưa. Nếu chưa có thì bổ sung vào.

ChipBom
04-07-2005, 07:56
mình start RPC trong window rồi,Còn trong file tnsnames.ora mình đã cấu hình service_name chính là tên cơ sở dữ liệu của mình nhưng không hiểu sao chạy hàm mở rộng vẫn gặp lỗi tương tự.Liệu có phải là do mình tạo thư viện sai không nhỉ?

quanlh
04-07-2005, 10:39
dùng tnsping thử cái service_name ấy xem có thông không ? Còn thư viện sai thì cũng có thể lắm, thử debug cái thư viện ấy trước khi gọi nó từ bên ngoài xem

ChipBom
04-07-2005, 17:41
mình có một file *.nst chữa các dữ liệu ảnh. Mình muốn tời dữ liệu ra thì cần khởi tạo một cấu trúc ANSI_NIST để chứa dữ liệu của file.Có bạn nào biết cách khởi tạo cấu trúc ANSI_NIST không giúp mình với

bancankhong
04-07-2005, 18:40
oracle form builder thiết kế store proc cũng nghiền lắm

back_back033
31-08-2008, 21:48
làm sao để có thể chạy stored procedure trong SQL-Plus được?? Bác nào biết chỉ giúp mình với nha! Cảm ơn.

ti_sun
12-09-2008, 11:53
làm sao để có thể chạy stored procedure trong SQL-Plus được?? Bác nào biết chỉ giúp mình với nha! Cảm ơn.

SQL>declare
//Khai báo biến
SQL>...
SQL>begin
//Khởi tạo và xử lý các giá trị cần thiết
SQL>...;
SQL>proc_name(tham số, ...);
// Xử lý các giá trị cần thiết
SQL>...;
SQL>end;
SQL>/

phongvan0818
26-10-2008, 16:26
CREATE PROCEDURE AddNewOrder
@OrderID smallint,
@ProductName varchar(50),
@CustomerName varchar(50),
@Result smallint=1 Output
AS

DECLARE @CustomerID smallint
BEGIN TRANSACTION
If not Exists(SELECT CustomerID FROM Customers WHERE [Name]=@CustomerName)
--This is a new customer. Insert this customer to the database
BEGIN
SET @CustomerID= (SELECT Max(CustomerID) FROM Customers)
SET @CustomerID=@CustomerID+1
INSERT INTO Customers VALUES(@CustomerID,@CustomerName)
If Exists(SELECT OrderID FROM [Orders] WHERE OrderID=@OrderID)
--This order exists and could not be added any more so Roll back
BEGIN
SELECT @Result=1
ROLLBACK TRANSACTION
.........................
Cho mình hỏi biến @Result = 1 Output là sao vậy? @Result = 0