plsql相关内容
BEGIN例外当其他人然后sqltext2:='insert into ERROR_TABLE_SHREE select '||str||'从双重;';立即执行 sqltext2;结尾;犯罪; 我在异常块中收到以下错误 ORA-00911: 无效字符 解决方案 那里没有字符串(我假设 str 被声明为某种描述的字符).如果你想插入一个字符串,你需要额外的引号,否则在这种情况下它会被解释为一
..
所以我试图利用 LISTAGG() 函数来简单地构建一个逗号分隔的列表,以在基础查询中使用.列表生成工作正常,我只是应用了一个用于调试目的的输出,在那里我可以看到我的列表: 值:'AB','AZ','BC','CA','CT','DC','FL','FO','GA','IL','KS','MA','MB','ME','MN','MS','MT','NB','NC','NL','NOVA斯科舍
..
Oracle - 功能不工作 所以我不知道我做错了什么.我已经研究了几个小时,非常感谢您的帮助. 所以基本上我有 2 个表,一个叫做 student,它是一个学生列表,student_no 是主键,另一个表叫做 enrol 基本上包含学生注册的课程列表. 因此,我编写了一个函数,将登录学生的用户名(在本例中为 student_no)与学生列表进行比较,并确保登录用户是学生.然后它
..
我有一个场景,我的 PLSQL 块中可能存在多个 DML 语句,我正在寻找一些通用方法,通过使用它我可以计算使用此代码块影响的行总数. 供参考的测试数据和结构: 创建表 cust_temp_a(名称 varchar2(100), id varchar2(100));插入 cust_temp_a VALUES('哈苏','10');插入 cust_temp_a VALUES('阿苏','20
..
我在 oracle 程序中使用 host() 命令时遇到问题.我写了很简单的oracle代码. 创建或替换过程运行命令(command_i IN VARCHAR2)是l_message VARCHAR2 (100);开始l_message := 'cmd' ||命令_i;主机(l_message);结束运行命令; 当 host(l_message); 被消除时工作正常. 问题是什么,无论
..
无法在我的表格中修剪以下数据中的空白空间.列数据类型为 VARCHAR2(650 CHAR).我尝试了修剪功能来消除空白.但这对我不起作用. 我表中的数据: 'xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14 ''xxxxxxxxxx yyyyyyyyy - 12/7/14 - 12/13/14 ''xxxxxxxxxx yyyyyyyyy - 12/7/
..
我有一个包含如下函数的包,它需要一个数组参数. 创建或替换 PACKAGE selected_pkg IS类型 NUM_ARRAY 是数字表;函数 get_selected_kml(in_layer IN NUMBER,in_solm_id IN NUMBER,in_feature_ids IN NUM_ARRAY,in_lx IN NUMBER,in_ly IN NUMBER,in_ux IN
..
基于 这个答案 我试图创建临时表,但是我收到异常 ORA-00942:table or view does not exist 我认为 'CREATE OR REPLACE GLOBAL TEMPORARY TABLE TempQandA(column1 number) ON COMMIT PRESERVE ROWS 有问题' 语句,它在 insert into TempQandA(column1
..
我在使用存储过程中的立即执行命令创建表时遇到问题.但是我收到“权限不足"的错误.我检查了其他线程并确保用户具有授予它的“CREATE TABLE"权限.但是我仍然看到同样的错误. SQL>从 USER_SYS_PRIVS 中选择 *;用户名权限 ADM------------------------------ -----------------------------------------
..
我主要是一个 oracle 新手,所以如果这是一个愚蠢的问题,请原谅我...... 我有一个名为“CODE"的架构,其中包含一个执行任意 SQL 的存储过程(现在,请忽略与此相关的潜在安全问题).传入的SQL会选择数据;但所有数据都驻留在架构 A、B 或 C 中 - 但 SQL 一次只会从一个架构中进行选择. 例如:类型 A 的用户创建一个字符串 'SELECT * FROM A.US
..
我们最近从 Oracle 10 升级到了 Oracle 11.2.升级后,我开始看到由函数而不是触发器(我以前从未遇到过)引起的变异表错误.这是在以前版本的 Oracle 中工作的旧代码. 以下是会导致错误的场景: create table mutate (x 号码,y 数);插入到 mutate (x, y)值 (1,2);插入到 mutate (x, y)值 (3,4); 我创建了两
..
以下是我希望阻止在我的服务器上运行的查询类型的示例: 开始虽然是真的环形dbms_output.put_line('tst');结束循环;结尾 此查询(或其他类似查询)可能通过 Oracle JDBC 瘦驱动程序访问我的 Oracle 服务器.我愿意阻止此查询在 JDBC 配置级别、数据库服务器配置级别或通过模式内的用户权限运行.我希望用户能够继续运行正常的选择/插入/更新/删除查询.老实说,
..
我在下面有一个查询:我想在过程中使这个枢轴动态化 SELECT *FROM ( SELECT tcsd AS Aggregator,国家,SUM (COUNT) AS 总和,COUNT (dest_addr) AS bnum,时间戳从 t_raw_intl_sms_aggr按 tcsd 分组,数数,国家,时间戳由 tcsd 订购,数数,国家,time_stamp) PIVOT (SUM (to
..
我在 PL/SQL 中有一个 XMLType,我需要重命名一些节点和一些值.例如: foobar 我想把上面的变成这样: foobaz 我知道我可以像这样更新值: SELECT UpdateXML(my_xml, '/root/fields/b/text
..
我们使用的是 Oracle 11g (11.2.0.3.0),并且在执行 UTL_HTTP 调用时收到以下错误: 例外:ORA-28860:致命的 SSL 错误例外:ORA-06512:在“SYS.UTL_HTTP",第 1128 行ORA-06512:在第 23 行例外:ORA-28860:致命的 SSL 错误 这是我们使用的代码: DECLAREurl_chr VARCHAR2(500)
..
我准备了一些fiddle: 创建表 t_process("process_number" int, "process_status" varchar2(12));全部插入INTO t_process ("process_number", "process_status")值(1,'处理')INTO t_process ("process_number", "process_status")值(2
..
我知道您可以设置用户个人资料或设置查询的一般超时.> 但我希望为过程中的特定查询设置超时并捕获异常,例如: 开始更新 tbl 设置 col = v_val;--无限时间从 id = 20 的 tbl 中删除;--无限时间开始从 tbl 中删除;-- 我希望这有一个有限的时间来执行异常(超时???)然后- 代码;结尾;结尾; 这可能吗?我能捕捉到任何超时异常吗?每个块或查询?没有找到关于该主题
..
我正在使用 oracle 11g,但我无法理解我的问题出在哪里.我做了更困难的事情,但在过去的 5 小时里我在这件简单的事情上失败了: 这是函数体 FUNCTION legal_user(level_existance 数,types_with_impel 数)返回布尔值是v_ret_val 布尔值;开始v_ret_val := FALSE;IF (level_existance*type
..
我想从 08-APR-13 获得 100 天前的日期. pl/sql 怎么做? 解决方案 假设 08-APR-13 在您的情况下是一个字符串.因此,您需要使用 to_date 函数将其转换为 date,然后简单地减去 100 文字. SQL SQL>选择 (to_date('08-APR-13', 'DD-MON-RR') - 100) res2 从双3/RES-------
..
是否可以在 pl/sql 存储过程中将 OracleParameter 正确传递给布尔参数? 解决方案 您不能在 SQL 中使用布尔参数.所以调用一个接受或返回一个布尔值的存储过程在 SQL 中不起作用.在 pl/sql 块中使用这样的过程没有问题. 从 JCallico 回答中添加: 我使用以下解决方法绕过此限制: 使用匿名块包装函数调用. 返回一个包含 1 或 0
..