因为工作中测试环境和开发环境是分开的,所以开发有时处理bug时需要连接测试数据库,这样出现一个问题是有些开发会为了验证某些问题任意改动数据库的表和字段,对测试库造成污染.为了能够让开发连接测试环境,同时又不污染测试库,可以给其提供一个只有查看权限(视情况开放其他权限)的用户 1.首先登陆sys用户,创建一个账号,并赋予连接权限 ; grant connect to test_cx; 2.设置权限,使其能够查看base库的所有表 登陆base库,然后执行如下语句,得到针对base库所有表的授权语句…
oracle存储过程中使用execute immediate执行sql报ora-01031权限不足的问题 学习了:http://blog.csdn.net/royzhang7/article/details/51172413 --解决 1.可以显示的赋给用户 create table权限 grant create table to user; 2.可以在存储过程上使用调用者权限. CREATE OR REPLACE PROCEDURE test_proc (a NUMBER, b VARCHAR…
此示例的主要目的主要是为了了解在PL/SQL环境下怎么创建和执行存储过程. 存储过程所涉及的DataTable: 第一步:创建游标变量 游标是ORACLE系统在内存中开辟的一个工作区,主要用来存储SELECT的数据的.通俗的讲就是用来存储查询数据的一个临时的变量. 游标的创建: CREATE OR REPLACE PACKAGE pkg_query AS TYPE cur_query IS REF CURSOR; END pkg_query; 第二步:存储过程的创建 create or repl…
修改存储过程,在存储过程名称后面添加 Authid Current_User 后执行通过. CREATE OR REPLACE PROCEDURE p_test Authid Current_User IS BEGIN EXECUTE Immediate 'create table test01 as (select * from dual)'; END p_test;…
一.动态执行SQL PREPARE S1 FROM 'delete from test'; EXECUTE S1; 二.使用游标 DECLARE V_CURSOR CURSOR FOR SELECT DELETESQL,INSERTSQL FROM FJDC.V_I_DG_DM_ZY_WL_ZBHZ_ATTR T; OPEN V_CURSOR; FETCH V_CURSOR INTO V_DELETESQL,V_INSERTSQL; CLOSE V_CURSOR; 三.WHILE循环 WHILE…