小编Kir*_*tev的帖子

如何手动初始化PL/SQL中的RECORD集合?

家伙.这是PL/SQL中的一个简单的二维数组样本,它运行良好.

declare
  type a is table of number;
  type b is table of a;

  arr b := b(a(1, 2), a(3, 4));
begin
  for i in arr.first .. arr.last loop
    for j in arr(i).first .. arr(i).last loop
      dbms_output.put_line(arr(i) (j));
    end loop;
  end loop;
end;
Run Code Online (Sandbox Code Playgroud)

我需要做的是为表创建类似的东西RECORDS.像这样:

 type a is record(a1 number, a2 number);
 type b is table of a;
Run Code Online (Sandbox Code Playgroud)

问题是,我可以手动初始化这种数组,还是应该填充bulk collects或类似?与上面相同的语法似乎不起作用,我无法在手册中找到任何初始化示例.

arrays oracle plsql oracle9i multidimensional-array

16
推荐指数
2
解决办法
3万
查看次数

如何阻止VBA代码运行?

假设我的电子表格中嵌入了一个按钮,可以启动一些VBA功能.

Private Sub CommandButton1_Click()
    SomeVBASub
End Sub

Private Sub SomeVBASub
    DoStuff
    DoAnotherStuff
    AndFinallyDothis
End Sub
Run Code Online (Sandbox Code Playgroud)

我想有机会有一个"取消"按钮,可以SomeVBASub在任意时刻停止执行,我不会涉及到Ctrl+Break这里,因为我想默默地这样做.

我想这应该是相当普遍的问题,任何想法?

谢谢.

excel vba excel-vba

14
推荐指数
2
解决办法
18万
查看次数

如何在SQL查询中处理可选参数?

说我有一个示例表:

 id_pk  value
------------
 1       a
 2       b
 3       c
Run Code Online (Sandbox Code Playgroud)

我有一个示例PL/SQL块,它有一个查询,当前选择一行到一个数组:

declare

  type t_table is table of myTable%rowtype;

  n_RequiredId myTable.id_pk%type := 1;  
  t_Output t_table := t_table();

begin

  select m.id_pk, m.value
    bulk collect into t_Output
    from myTable m 
   where m.id_pk = n_RequiredId;

end;
Run Code Online (Sandbox Code Playgroud)

我需要做的是实现一个选择单个行到数组的能力,如上面的块所示,或者选择所有行到一个数组,如果n_RequiredID,实际上是一个用户输入参数,设置为null.

问题是,处理这种情况的最佳做法是什么?

我可以想到将where我的查询的子句修改为这样的事情:

where m.id_pk = nvl(n_RequiredId, m.id_pk);
Run Code Online (Sandbox Code Playgroud)

但我想如果参数不为空,那将会减慢查询速度,我记得Kyte说这个方法真的很糟糕.

我还可以考虑实现以下PL/SQL逻辑:

if n_RequiredId is null then 

  select m.id_pk, m.value bulk collect into t_Output from myTable m;

else

  select m.id_pk, m.value bulk …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql

7
推荐指数
1
解决办法
2万
查看次数

document.getElementByID - 检查是否已找到元素

这是一个示例代码,它打开一个 Internet Explorer 窗口,导航到 google,并通过其唯一 id 获取页面上的某些元素:

set ie = CreateObject("InternetExplorer.Application")

ie.navigate("www.google.com")
ie.visible = true

while ie.readystate <> 4
    wscript.sleep 100
WEnd

set some_object = ie.document.getelementbyid("xjsc")

MsgBox some_object.tagname, 0
Run Code Online (Sandbox Code Playgroud)

这个示例给我带来了一个DIV弹出窗口,我完全满意。

但是在下一步中,我想检查页面中是否存在某个 id。不幸的是,我不能只是,就像,

set some_object = ie.document.getelementbyid("some_non_existant_id")
if some_object.tagname = "" then
...
Run Code Online (Sandbox Code Playgroud)

因为它给了我以下错误:

ie.vbs(12, 1) Microsoft VBScript runtime error: Object required: 'some_object'
Run Code Online (Sandbox Code Playgroud)

那么,检查是否已找到元素的最佳做法是什么?

html vbscript scripting dom

3
推荐指数
1
解决办法
2万
查看次数

从C#app问题连接到嵌入式FireBird数据库

我似乎在从示例C#应用程序连接到嵌入式FireBird数据库时遇到问题.这就是我所拥有的.

static void Main(string[] args)
    {

        //Some constant parameters used to form up the connection string... 
        #region constant literals
        const String User = "SYSDBA";
        const String Password = "masterkey";
        const String DBPath = "D:\\!tmp\\1\\cafw.fdb";
        const String DLLPath = @"fbembed.dll";
        const String Charset = "WIN1251";
        const int Dialect = 3;
        #endregion

        //I check whether we actually have a database file nearby
        //and fbembed.dll. If we don't - we leave
        if (File.Exists(DBPath) == true && File.Exists(DLLPath) == true)
        {
            //I form up …
Run Code Online (Sandbox Code Playgroud)

c# firebird firebird-.net-provider

3
推荐指数
1
解决办法
1万
查看次数

自动将范围插入Oracle表

在给定增量范围的情况下,如何将多个行插入到表中,该行的一列包含值?

sql oracle insert

2
推荐指数
1
解决办法
3996
查看次数

MySql创建了几个具有相同结构的表

我必须创建8个具有完全相同结构的表.最简单的方法是复制粘贴代码并为表应用不同的名称.我希望很酷,并用一个周期创建它们.如何进行该循环以及应用不同名称的最佳方法是什么?谢谢

mysql sql

2
推荐指数
1
解决办法
3518
查看次数

如何从Windows应用程序内存中读取一些数据?

我有一个应用程序,它显示了一些数据.我需要附加到这个应用程序的进程,在内存中找到我需要的数据(实际上是一个数字),并将其保存在某个地方.这个应用程序似乎没有使用标准的Windows控件,所以事情不会像使用AutoIt或类似的东西读取控件数据那么简单.

目前我是一个自学数据库的人,对Windows应用程序调试知之甚少.甚至不确定我是否正确地问了我的问题.

那么,你能否给我一些入门指南,比如说,我应该先阅读什么,以及我应该做的一般指示?

谢谢.

memory windows debugging data-extraction

1
推荐指数
2
解决办法
9021
查看次数

使用oracle SQL将字符串解析为表

家伙.说我有下表:

ID | String
---+---------  
1  | <123><345>  
2  | <1-2><45-67>  
3  | <345-321><234>
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序中的遗留数据格式,目前无法避免.我需要做的是:

ID | String
---+---------
1  | <123>  
1  | <345>  
2  | <1-2>  
2  | <45-67>  
3  | <345-321>  
3  | <234>  
Run Code Online (Sandbox Code Playgroud)

有关如何在不创建任何其他对象或pl-sql过程的情况下仅使用普通Oracle SQL获得此结果的任何建议?

谢谢.

sql oracle plsql oracle9i

0
推荐指数
1
解决办法
3924
查看次数

oracle 11g列格式不起作用

我正在使用oracle 11g ex edition.从教科书中我找到了格式选项,但它不起作用.表格结构如下.

 Name                                      Null?    Type
----------------------------------------- -------- ----------------------------

ID                                                 NUMBER(4)
NAME                                      NOT NULL VARCHAR2(5)
ADDRESS                                            VARCHAR2(20)
PINCODE                                             NUMBER(6)
LOCATION                                           NUMBER(2)
DOB                                                DATE
Run Code Online (Sandbox Code Playgroud)

我用过这个命令

 column name format A12
 select name "USERNAME" from hai;
Run Code Online (Sandbox Code Playgroud)

我希望将列标题显示为USERNAME.但它只显示USERN.当使用格式选项时,它需要显示12个字符,但它只显示表格定义中的5个字符.为什么?查询结果如下

 USERN
 -----
 korna
Run Code Online (Sandbox Code Playgroud)

oracle sqlplus oracle11g

0
推荐指数
1
解决办法
465
查看次数