2 Câu hỏi riêng.thả bảng tạm thời toàn cầu
Tôi đang sử dụng kịch bản này để thả một bảng [SOLVED]
BEGIN EXECUTE IMMEDIATE 'DROP TABLE_NAME'; DBMS_OUTPUT.PUT_LINE ('Global table TABLE_NAME Dropped'); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ('Global table TABLE_NAME Doesn''t exist.'); END; /
Liệu có cách nào tôi có thể phân biệt nếu bảng "không tồn tại" hoặc nó đang được sử dụng trong một số các phiên khác (trong trường hợp đó nó sẽ bị khóa và không thể bị xóa). Tôi không chắc liệu tôi có thể thấy bảng đó tồn tại trong user_tables hay không. Tôi không hoàn toàn nhận thức được các điều khoản.
Tôi đã thêm mã này ngay bây giờ
WHEN OTHERS THEN
i_code := SQLCODE;
v_errm := SUBSTR(SQLERRM, 1, 64);
if i_code = -942 THEN
DBMS_OUTPUT.PUT_LINE ('TABLE_NAME doesn''t exist. Script will continue to create it');
ELSE
DBMS_OUTPUT.PUT_LINE ('Error dropping temporary table. The error code is ' || i_code || '- ' || v_errm);
END IF ;
2. Tôi thấy . ở phần cuối của mỗi thủ tục như thế này
END PROCEDURE_NAME;
.
/
sho err;
Tôi chỉ không hiểu tại sao . có tại đây. Nó là cú pháp hay cái gì?
Bảng có thực sự là một bảng tạm thời toàn cầu không? ('tạo bảng tạm thời toàn cầu ....') Nếu vậy, tại sao bạn bỏ nó? Đây có phải là một phần của tập lệnh cài đặt không? Nếu không, có thể một bảng tạm thời toàn cầu sẽ đáp ứng nhu cầu của bạn, mà không cần phải thả nó. –
cũng chúng tôi chạy vào "đã tồn tại" vấn đề và bằng cách nào đó, nó không được xác nhận từ môi trường productino trạng thái của bảng là gì. Bảng này không phải là một phần của kịch bản cài đặt một phần của thủ tục riêng biệt. –
Tôi không hiểu, tại sao bạn lại gặp phải vấn đề đã tồn tại với bảng tạm thời toàn cầu. Bảng nên đã tồn tại và mã chỉ sử dụng (chèn, xóa, cập nhật, v.v.). –