grant create view to hospital; --授予查询权限 grant select any table to hospital; --授予权限 grant select any dictionary to hospital; grant SELECT ON Yfgl_YPRuKuDan to hospital; grant SELECT ON Yfgl_YPRukudanmx to hospital; ORA-01031:权限不足的问题 在 脚本更新时,报错:ORA-010
原因是使用的用户没有相关的查询权限导致 解决办法: grant select any dictionary to 用户; --这个权限比较大 这个权限是最低的要求,但是可以访问到v$相关视图 grant select_catalog_role to 用户; 收回权限 revoke select_catalog_role from user;
一.只支持表,非常牛逼的 SELECT a.name,(case when (SELECT count(*) FROM sysobjects WHERE (name in (SELECT name FROM sysindexes WHERE (id = a.id) AND (indid in (SELECT indid FROM sysindexkeys WHERE (id = a.id) AND (colid then ' end) isprimary, b.name [type],COLUM
不多说,直接上干货 1.查询当前用户下表的创建语句 select dbms_metadata.get_ddl('TABLE','ux_future') from dual; 2.查询其他用户下表的创建语句 select dbms_metadata.get_ddl('TABLE','ux_future','Admin') from dual; 3.查询表的index select index_name,index_type,table_name from user_indexes where ta
查看进程: select * from v$process 根据存储过程名称查找是否被锁: select * FROM dba_ddl_locks where name =upper('sp_1'); select * FROM dba_ddl_locks where name like upper('%sp_1%'); select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.l
查看进程: select * from v$process; 根据存储过程名称查找是否被锁: select * FROM dba_ddl_locks where name =upper('sp_1'); select * FROM dba_ddl_locks where name like upper('%sp_1%'); select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.
Oracle查询表的名字和comments select a.table_name,b.comments from user_tables a,ALL_TAB_COMMENTS b where a.table_name=b.table_name 查询字段的名字和comments select distinct a.COLUMN_NAME,b.comments from user_tab_columns a,user_col_comments b where a.COLUMN_NAME=b.col
select p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a, v$locked_object b,all_objects c where p.addr=a.paddr and a.process=b.process and c.object_id=b.object_id ;
使用Navicat提供的数据传输工具将JEECMSv9的MySQL的数据迁移至Oracle数据库,数据迁移成功表都存在,但是在程序启动时提示表或视图不存在. Caused by: java.sql.SQLSyntaxErrorException: ORA-: 表或视图不存在 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTT
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候判断数据表是否存在,若存在则删除,会经常使用,特别是初始化的时候. --方法一 /*判断数据表是否存在,若存在则删除数据表*/ IF EXISTS (SELECT * FROM sys.objects WHERE name = 'Table_Name') DROP TABLE Table_Name;
摘自: http://www.111cn.net/database/mssqlserver/39107.htm sql判断存储过程是否存在 判断数据库教程是否存在 Sql代码 if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名]