plsql相关内容
我想删除我们的oracle DB上一些未使用的模式. 如何查询所有架构名称? 解决方案 使用sqlplus sqlplus/作为sysdba 运行: SELECT * FROM dba_users 您只希望用户名执行以下操作: SELECT username FROM dba_users
..
我已经创建了"Risiko"表,该表不应该是动态的,我坚信它就是这么简单,但事实并非如此.我应该如何解决?我在做什么错了? CREATE OR REPLACE PROCEDURE TABLERISIKO IS BEGIN drop table risiko; CREATE TABLE Risiko ( RNr
..
所以我有这个: SELECT p.plantnaam,o.levcode,o.offerteprijs FROM plant p, offerte o JOIN (SELECT plantcode , MIN(offerteprijs) AS offprijs FROM offerte GROUP BY plantcode) s ON s.plantcode =
..
我实现了一个返回 clob 数据类型的函数,我想将结果打印在 DBMS输出中.不幸的是,我收到 ORA-06502:PL/SQL:数字或值错误,我认为这是由于DBMS_OUTPUT的大小所致. 这是代码. DECLARE TYPE tp_col_array IS TABLE OF varchar2(32767); FUNCTION my_fn (
..
我有几个脚本,我想从提供给SQLPlus用户的菜单开始.像这样的东西: 请选择: 1:编写脚本 2:执行脚本b 3:执行脚本c 我只需要指向正确的方向,而不是快速的答案. 解决方案 以下是执行此操作的SQL Plus脚本: prompt Please make a selection: prompt 1: Do script a prompt 2: Do scrip
..
我正在写一个查询,以查找收入高于其部门平均工资的员工.我需要显示员工ID,薪水,部门ID和该部门的平均工资. 我有一个几乎可以正常使用的查询,但是它一直给我"ORA-00904:"AVG_SAL":无效的标识符“错误.我正确地做到了吗?为什么我会收到此无效的标识符错误? SELECT employee_id, salary, department_id, (SELECT ROUND
..
使用此代码,我无法多次运行插入查询;它只会询问ID和名称一次(如果counter中的值大于1). declare counter number := 0 ; begin counter := &counter ; while counter > 0 loop insert into customer values
..
我希望找到如何获取OracleDB中结果集的kb大小. 我不是系统管理员,但是经常运行返回超过10万行的查询,因此我需要找到一种确定总kb大小的方法. 谢谢 解决方案 在SQL * Plus中: SET AUTOTRACE ON SELECT * FROM emp WHERE rownum
..
我正在将多个文件作为外部表的一部分进行处理.有什么办法可以让我在外部表中处理文件名并将其放置在表中? 目前,我能找到的唯一解决方案是将文件名附加到平面文件中的每个记录,这从效率的角度来看并不理想,并且涉及修改原始数据.当然,外部表可以随时知道正在处理哪个文件吗? 解决方案 我不知道有什么方法可以在访问参数中捕获文件名.解决方法是,可以使用预处理器动态添加文件名,而不是修改原始文件.如
..
我在oracle中有一个序列将用作SYSID.该序列不是按有序方式生成的,这意味着某些序列会跳过数字,然后继续. 下面是我的顺序 CREATE SEQUENCE leaveform_seq MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1560 CACHE 20 ORDER NOC
..
我想设置一个沙箱环境来磨练自己的pl/sql和数据库技能.我当时正在考虑下载Oracle 11G的完整版本并使用SQL Developer.建立测试数据库并从那里开始工作. 有什么建议吗?您认为这是个好方法吗? 提前谢谢! 解决方案 如果您想对整个环境进行沙盒化,Oracle提供了预先构建的VM映像,其中包含一个11g数据库,SQL Developer和其他工具.更多信息此
..
我正在尝试在oracle 11g中使用以下过程将序列动态重置为1. create or replace procedure reset_sequence(p_seq in varchar2) is l_value number; begin -- Select the next value of the sequence execute immediate 'se
..
我在Oracle事务中遇到麻烦.我有一些这样的程序: create or replace procedure myschema.DataSave(v_value IN NUMBER) as begin SET TRANSACTION ISOLATION LEVEL READ COMMITTED; begin insert/update/delete... exception when O
..
我正在尝试通过.NET调用Oracle存储过程.通常这不是问题,但是此存储过程包含一个PL/SQL集合类型的参数: create or replace type test_type as table of number; PROCEDURE TEST1 (pvTest IN test_type); 这是我的C#代码: var receiverIds = new decimal[]
..
使用 来简单地查询正在运行的作业 select * from dba_jobs_running; 在我的sqldevelopers SQL控制台中执行时工作正常. 但是,在过程中具有完全相同的语句时,它将不起作用. 编译失败并显示 PL/SQL: ORA-00942: table or view does not exist 有什么想法吗?有没有类似范围的东西可以考虑?
..
我有一列用管道分隔的值,例如: '23 | 12.1 | 450 | 30 | 9 | 78 | 82.5 | 92.1 | 120 | 185 | 52 | 11' 我想解析此列以用12个对应列填充表格:month1,month2,month3 ... month12. 所以month1的值为23,month2的值为12.1,依此类推... 有没有一种方法可以通过循环或分
..
我一直在试图找出问题所在,但是我很不幸,根本不了解这个问题.我有以下代码: CREATE OR REPLACE FUNCTION ckeckDay(dateC in date) RETURN VARCHAR IS day VARCHAR(15); checkFriday VARCHAR(1); BEGIN checkFriday := 'N'; day := to_char(
..
CREATE OR REPLACE TYPE ty_1 AS OBJECT ( fn VARCHAR2(100), sl NUMBER, hd DATE ); CREATE OR REPLACE TYPE ty_1_table AS TAB
..
我正在将MSSQL脚本转换为Oracle,但我一直无法弄清楚使用变量代替表名或表列的语法. 这是我一直尝试在Oracle SQL Developer中工作的一个简单示例,因此我可以更好地理解语法: set serveroutput on format wrapped; declare VR_TABLE VARCHAR2(256); VR_UPDATE VARCHAR2(25
..
我正在编写一个PL/SQL过程,该过程需要动态生成一些查询,其中之一涉及使用查询结果作为参数来创建临时表. CREATE OR REPLACE PROCEDURE sqlout(query IN VARCHAR2) IS BEGIN EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE tmp_tab AS (' || query || ');'
..