试图了解以下内容
为什么Python分配的ID对于相同的列表是不同的?
x = [1, 2, 3]
y = [1, 2, 3]
id(x) != id(y)
True
id(x)
11428848
id(y)
12943768
Run Code Online (Sandbox Code Playgroud) 最初我试图创建一个异常来捕获一个不存在的表 (-00942)。根据 Alex 和 Raj 的反馈,我修改了代码以使用 EXECUTE IMMEDIATE。这有助于识别表,但是当我将表从“员工”更正为“员工”时,这是我数据库中存在的表,我本来希望代码运行时不会出错,就像我没有使用 EXECUTE IMMEDIATE 一样.
使用 EXECUTE IMMEDIATE 时,代码是否可以无异常地运行,而不是生成 catch all 异常?
EXECUTE IMMEDIATE 'SELECT last_name INTO v_name FROM Employees WHEREsalary = v_sal';
WHEN OTHERS THEN :g_message := '发生了其他一些错误。';
我希望代码能够无一例外地运行。
VARIABLE g_message VARCHAR2(250)
DEFINE p_sal = 12000
DECLARE
v_name employees.last_name%TYPE;
v_sal employees.salary%TYPE := &p_sal;
table_does_not_exist exception;
PRAGMA EXCEPTION_INIT(table_does_not_exist, -942);
BEGIN
EXECUTE IMMEDIATE
'SELECT last_name INTO v_name FROM employees WHERE salary = v_sal';
DBMS_OUTPUT.put_line(v_name);
EXCEPTION
WHEN table_does_not_exist then
:g_message := 'table dose not exist';
WHEN …Run Code Online (Sandbox Code Playgroud) plsql exception-handling dynamic-sql ora-00942 oracle-sqldeveloper
我无法创建视图 - 我的权限不足.工作流 - >创建角色 - >将创建视图授予角色 - >创建用户 - >向用户添加角色 - >尝试创建视图,我得到错误.任何帮助将不胜感激
创造了一个角色
CREATE ROLE enrolment;
Run Code Online (Sandbox Code Playgroud)
授予以下角色特权 - 基础表hr.students
GRANT insert, select, update
ON hr.students
TO enrolment;
Run Code Online (Sandbox Code Playgroud)
还授予该角色的create view特权
GRANT create view
TO enrolment;
Run Code Online (Sandbox Code Playgroud)
创建了以下用户
CREATE USER enrol1
IDENTIFIED BY pw4321;
Run Code Online (Sandbox Code Playgroud)
将该角色授予该帐户
GRANT enrolment
TO enrol1;
Run Code Online (Sandbox Code Playgroud)
当我尝试在基表hr.students上创建以下视图时,我被告知我没有足够的权限.我可以在基表上运行select语句.
CREATE OR REPLACE VIEW vu_student_name
AS SELECT student_id, lastname
FROM hr.students;
Run Code Online (Sandbox Code Playgroud) >>> a = [1, 2, [3, 4], 5]
>>> print(len(a))
4
Run Code Online (Sandbox Code Playgroud)
列表的长度是4,为什么元素数为4而不是5?