我需要知道oracle游标的记录数(过程的输出参数).
游标在Oracle Package的主体上声明,是一个类型IS REF CURSOR;
在程序2(相同的包)中,我调用过程1并获取输出光标.
我需要循环此输出光标并计算记录数量.我已经测试了很多例子,但是,任何例子都有效.
谢谢,
所以,我有一个加载模块的问题require.我们有一个工作目录.该程序加载一个PACKAGE(粗体不会让你困惑)(这是好的 - 多亏了正确的本地命名空间),但它必须从非常不同的目录加载另一个模块.因此,当我听说过,应该不移位到@INC中BEGIN块.但是....这个开始应该采用一个参数(目前来自初始程序),包含一些配置文件的路径,其中包含我需要的参数(模块的路径,我需要取消移位).
BEGINinited,我检查@INC - unshift似乎成功了.然后,在PACKAGE方法中我们需要加载此模块,但是当我尝试执行以下操作时:
eval{
print STDERR "Trying...\n";
my $path = "path/to/module"; # contains "DIR" dir and "Module.pm",
# also tried to write this path as "path/to/module/DIR/Module.pm"
require $path;
DIR::Module->import();
print STDERR "Success\n";
1;
} or {print STDERR "Failed\n";}
my $module = DIR::Module->new();
Run Code Online (Sandbox Code Playgroud)
我得到了"试着......"和"失败".试过全use lib路径 - 什么也没得到.我究竟做错了什么?
我在包内有以下程序:
PROCEDURE test1
IS
InsertST varchar2(32000) : = 'INSERT INTO tableA (col1, col2)
(select cola,
INITCAP(REPLACE(colX, '_', ''))
from tableB))';
Begin
execute immediate InsertST;
END
Run Code Online (Sandbox Code Playgroud)
在编译期间我收到错误:
错误(1177,45):PLS-00103:遇到以下其中一项时遇到符号"_":*&= - +; </> at in是mod的余数不是rem <>或!=或〜=> = <= <>和/或类似like2 like4 likec之间的|| 成员submultiset
东西是错误的"_"内部功能:INITCAP(REPLACE(colX, '_', ''))
怎么解决?也许是其他方式?
在Ada中这很简单:
type ITEM_RECORD;
type ITEM_ACCESS is access ITEM_RECORD;
type ITEM_RECORD Is
record
ITEM: item_type;
Next: item_access;
Pred: item_access;
end record;
Run Code Online (Sandbox Code Playgroud)
容易,对吗?现在,如果我想让ITEM_ACCESS成为通用包中声明的智能/安全指针,该怎么办?我直觉地这样做,只要它有效:
type ITEM_access;
type Item_Record is record
Item : Item_Type;
Next : Item_Access;
Pred : Item_Access;
end record;
type pointers_on_record is access Item_record;
package pointers_p is new pointers(Item_Record, pointers_on_record);
type item_access is new pointers_p.Pointer_Type;
Run Code Online (Sandbox Code Playgroud)
通用的规格如下:
generic
type Item_Type(<>) is limited private;
type Access_Type is access Item_Type;
package Pointers is
type Pointer_Type is private;
Run Code Online (Sandbox Code Playgroud)
我还没想出怎么做.
谢谢 !
program.pl
Use Mypackage;
sub test{
print "from test";
}
Run Code Online (Sandbox Code Playgroud)
Mypackage.pl
Package Mypackage;
::test();
Run Code Online (Sandbox Code Playgroud)
这没什么回报.
我从包中看到了几个关于调用子例程中调用子例程的线程,但我想做相反的事情
从主命名空间(program.pl)打印包中的子例程
这可能吗 ?
我知道我们可以import p.*;导入包p中的每个类.但是,假设p包含A,B和C类,我们只想导入A和B,我们可以做以下事情:
import p.A;
import p.B;
Run Code Online (Sandbox Code Playgroud)
像import p.{A, B}Scala一样?
import Data.Monoid ((<>))
Run Code Online (Sandbox Code Playgroud)
要避免
• Variable not in scope:
(<>)
Run Code Online (Sandbox Code Playgroud)
从GHC 8.4开始,我没有错误,我排除了这个导入.
为什么是这样?已(<>)在其他地方实施?对于以后的GHC进行此导入会产生什么后果?可以有条件地导入这个仅用于较旧的GHC吗?
我有以下版本的python
import sys
print(sys.version)
3.6.5 | packaged by conda-forge | (default, Apr 6 2018, 13:44:09)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)]
Run Code Online (Sandbox Code Playgroud)
我使用以下命令安装了软件包
pip install wfdb
它安装成功,因为当我随后编写命令时:
pip show wfdb
出现以下信息位置:/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
但是,当我import wfdb在Python笔记本中键入命令或在终端中键入python版本时,我收到以下消息
No module named 'wfdb'
它与python检查软件包位置的路径有关吗?如何检查和更改?
我尝试导入一些自定义模块/程序包,但收到错误“ ModuleNotFoundError:没有名为'reader'的模块”。
我确保在sys.path中列出了我的自定义软件包目录的绝对路径:
>>> os.getcwd()
'C:\\Python Projects\\reader'
>>> sys.path.append('C:\\Python Projects\\reader')
>>>
>>> sys.path
['', 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip', 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python37\\DLLs', 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python37\\lib', 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python37', 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages', 'C:\\Python Projects\\reader']
>>>
>>> import reader
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'reader'
Run Code Online (Sandbox Code Playgroud)
另外,sys.path中列出的所有路径(''和C:\ Python Projects \ reader除外)都已添加到环境变量>系统变量中(我正在使用Win10)。
为了在项目中成功导入自定义包,我还应该做些其他事情吗?
谢谢
新手,我似乎无法弄清楚如何使用包来构造我的项目。我想要的是:
dart.go
package main
import (
...
)
func main () {
...
// call functions declared in functions.go
...
}
Run Code Online (Sandbox Code Playgroud)
functions.go
package dart
import (
...
)
func Function1() {
...
}
func Function2() {
...
}
Run Code Online (Sandbox Code Playgroud)