问题描述
我有两个问题
问题1 :如果我从双精度值中选择任何字符串,如果字符串的长度超过4000个字符,则返回错误。我们能不能增加字符串的长度
从双表中选择。
例如:选择“选择空的co1 null co1 ,空的co1 ,从双精度值中选择空的co3”字符串
问题2我在pl/sql中创建了以下函数。它返回错误或a-0942表或视图不存在。但是,当我在下面的代码中运行'open c_e'语句中使用的选择语句时,它将运行并返回结果集。我还需要授予用户什么额外的特权,我从其中运行函数。
创建或替换函数EMP_FUN返回EMP_OBJ_表管道化为
类型为参考游标;
C_E_Cur_EMP ;
E EMP_OBJ:=EMP_OBJ ( NULL、NULL、NULL、NULL、NULL ) ;
--游标C1为
--从EMP1中选择EMPNO、ENAME、职务、聘用日期、销售部门;
开始
打开C_E for SELECT EMPNO、ENAME、作业、CERDEDTE、SAL、DEPTNO自ScottT.EMP;--错误
循环
当C_E%未找到时退出;
将C_E放入E.EMPNO、E.ENAME、E.JoB、E.JD、E.SAL、E.DPTNO ;
管排(E) ;
END 循环;
关闭C_E ;
退货;
结束;
问题1 :如果我从双精度值中选择任何字符串,如果字符串的长度超过4000个字符,则返回错误。我们能不能增加字符串的长度
从双表中选择。
例如:选择“选择空的co1 null co1 ,空的co1 ,从双精度值中选择空的co3”字符串
问题2我在pl/sql中创建了以下函数。它返回错误或a-0942表或视图不存在。但是,当我在下面的代码中运行'open c_e'语句中使用的选择语句时,它将运行并返回结果集。我还需要授予用户什么额外的特权,我从其中运行函数。
创建或替换函数EMP_FUN返回EMP_OBJ_表管道化为
类型为参考游标;
C_E_Cur_EMP ;
E EMP_OBJ:=EMP_OBJ ( NULL、NULL、NULL、NULL、NULL ) ;
--游标C1为
--从EMP1中选择EMPNO、ENAME、职务、聘用日期、销售部门;
开始
打开C_E for SELECT EMPNO、ENAME、作业、CERDEDTE、SAL、DEPTNO自ScottT.EMP;--错误
循环
当C_E%未找到时退出;
将C_E放入E.EMPNO、E.ENAME、E.JoB、E.JD、E.SAL、E.DPTNO ;
管排(E) ;
END 循环;
关闭C_E ;
退货;
结束;
专家解答
1、Oracle中字符串最大长度为4000字节。如果您将max_tring_大小设置为扩展,则在12c中该值将增加到32,767 :
https://oracle-base.com/articles/12c/extended-data-types-12cR1
如果你不能升级,你需要把你的字符串分成4000字节的部分。
2.您可能通过角色拥有权限。要在PL/SQL中使用表,需要显式授予权限:
https://oracle-base.com/articles/12c/extended-data-types-12cR1
如果你不能升级,你需要把你的字符串分成4000字节的部分。
2.您可能通过角色拥有权限。要在PL/SQL中使用表,需要显式授予权限:
grant select on scott.emp to your_user;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




