小编Kev*_*ock的帖子

那里的.NET单元测试框架有什么区别?

关于是什么让一个人比另一个更好,我听到了许多不同的意见.但任何人都可以提供技术解释,说明为什么我应该选择一个单元测试框架而不是另一个.例如,我使用Visual Studio Team System.为什么我会选择一个开源测试框架(NUnit,xUnit,MbUnit等)而不是Visual Studio的内置单元测试功能?有关系吗?

编辑:要明确,我不是在寻找关于"哪个单元测试框架最好"的意见......我正在寻找关于它们如何不同的技术细节.

.net unit-testing

4
推荐指数
2
解决办法
1904
查看次数

何时执行PL/SQL包开始/结束块之间的代码?

我的PL/SQL代码类似于以下代码段:

create or replace
package body MY_PACKAGE as
    type array_type is table of char index by varchar2(1);
    lookup_array array_type;

    function DO_SOMETHING(input nvarchar2) 
    return varchar2 as
    begin
        -- Do something here with lookup_array
    end DO_SOMETHING;

    procedure init_array as
    begin
        lookup_array('A') := 'a';
        lookup_array('B') := 'b';
            -- etc
    end init_array;
begin
    init_array;
end MY_PACKAGE;
Run Code Online (Sandbox Code Playgroud)

它使用静态查找数组来处理提供给DO_SOMETHING的数据.我的问题是,什么时候调用init_array并将lookup_array加载到内存中?什么时候编译包?什么时候第一次打电话?是不是一次被召唤?有没有更好的方法来实现静态查找数组?

谢谢!

plsql oracle10g

4
推荐指数
1
解决办法
3021
查看次数

以编程方式在ActiveReports中插入分页符

我一直在网上搜索一个很好的例子,但无法弄清楚如何以编程方式向ActiveReports报告添加分页符.我正在处理的报告通常需要每页1-2页.为了支持报告的双面打印,我想为每个使用奇数页的记录插入空白页,确保每个新记录都打印在每个打印页的正面.

我是ActiveReports的新手,所以任何建议,代码示例或链接都非常感谢!

activereports reporting

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

在Oracle SQL语句中使用分号

免责声明:我刚开始研究新合同,这迫使我从MSSQL切换到Oracle.所以我是Oracle的全新人,可能会给我带来许多糟糕的MSSQL实践.好的,关于这个问题......

根据这个帖子的答案,分号是坏的,应该避免.我花了好几个小时试图弄清楚为什么我的查询在SQL Developer中运行得非常慢,我意识到了这一点.从复杂查询结束时删除分号后,它在几秒钟内完成(与我在几分钟后放弃它相比,在删除分号之前就是这种情况).这种行为让我吃了一惊,谷歌搜索没有多少关于我应该或不应该在我的SQL语句中使用分号的时间和原因.任何人都可以通过简短的解释清楚这一点吗?

如果您有可用于从MSSQL迁移到Oracle的穷人开发人员的在线资源的链接,那么我将非常感激!

谢谢!

sql oracle performance

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

如何从 Oracle 表中删除表分区?

我发现特定表上使用的分区会损害查询性能,并且希望从表中删除这些分区。是否有捷径可寻?该表有 64 个分区。根据一些初步调查,我提出了以下选项。有没有更好的办法?

  1. 将数据复制到另一个表中,删除所有分区,然后将数据复制回原始表中
  2. 将数据复制到另一个表中,删除原始表,然后重命名新表并重建索引
  3. 使用 MERGE PARTITION 将所有分区合并为一个分区

想法?

oracle partitioning oracle10g

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

需要帮助来解释这个sed命令

我正在查看我在网上找到Oracle脚本,但是它运行了一个sed命令来过滤跟踪文件的结果.我在Windows服务器上运行Oracle,因此无法识别sed命令.

host sed -n '/scattered/s/.*p3=//p' &Trace_Name | sort -n | tail -1
Run Code Online (Sandbox Code Playgroud)

我已经尝试阅读在线文档,但我仍然不确定如何解释此命令试图过滤的内容.有人会非常友好地帮助我解释这个命令试图过滤的内容吗?或者更好的是,我可以从Windows命令提示符运行以获得相同的结果.

谢谢!

oracle sed

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

问题将列值从VARCHAR(n)转换为DECIMAL

我有一个SQL Server 2000数据库,其列为VARCHAR(255)类型.所有数据都是NULL或具有最多两个精度点的数字数据(例如'11 .85').我试图运行以下T-SQL查询但收到错误'错误将数据类型varchar转换为数字'

SELECT CAST([MyColumn] AS DECIMAL)
FROM [MyTable];
Run Code Online (Sandbox Code Playgroud)

我尝试了一个更具体的演员,也失败了.

SELECT CAST([MyColumn] AS DECIMAL(6,2))
FROM [MyTable];
Run Code Online (Sandbox Code Playgroud)

我还尝试了以下内容来查看是否有任何数据是非数字的,并且返回的唯一值是NULL.

SELECT ISNUMERIC([MyColumn]), [MyColumn]
FROM [MyTable]
WHERE ISNUMERIC([MyColumn]) = 0;
Run Code Online (Sandbox Code Playgroud)

我试图转换为其他数据类型,例如FLOAT和MONEY,但只有MONEY成功.所以我尝试了以下方法:

SELECT CAST(CAST([MyColumn] AS MONEY) AS DECIMAL)
FROM [MyTable];
Run Code Online (Sandbox Code Playgroud)

......工作得很好.原始查询失败的任何想法?如果我先转换为MONEY然后再转换为DECIMAL,是否会出现问题?

谢谢!

t-sql sql-server sql-server-2000 data-conversion

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

帮助优化Oracle查询

我将通过声明我正在使用Oracle 10g企业版并且我对Oracle相对较新来解释这个问题.

我有一个包含以下架构的表:

ID           integer (pk)  -- unique index
PERSON_ID    integer (fk)  -- b-tree index
NAME_PART    nvarchar      -- b-tree index
NAME_PART_ID integer (fk)  -- bitmap index
Run Code Online (Sandbox Code Playgroud)

PERSON_ID是人员记录的唯一ID的外键.这NAME_PART_ID是具有静态值的查找表的外键,如"名字","中间名","姓氏"等.表的要点是分别存储人名的各个部分.每个人的记录至少都有一个名字.在尝试提取数据时,我首先考虑使用连接,如下所示:

select
    first_name.person_id,
    first_name.name_part,
    middle_name.name_part,
    last_name.name_part
from
    NAME_PARTS first_name
left join
    NAME_PARTS middle_name
    on first_name.person_id = middle_name.person_id
left join
    NAME_PARTS last_name
    on first_name.person_id = last_name.person_id
where
    first_name.name_part_id = 1
    and middle_name.name_part_id = 2
    and last_name.name_part_id = 3;
Run Code Online (Sandbox Code Playgroud)

但该表有数千万条记录,并且NAME_PART_ID未使用该列的位图索引.解释计划表明优化器正在使用全表扫描和散列连接来检索数据.

有什么建议?

编辑:表格设计的原因是因为数据库用于几种不同的文化,每种文化都有不同的个人命名惯例(例如在一些中东文化中,个人通常有名字,然后他们的父亲的名字,然后他父亲的名字等).很难创建一个包含多个列的表来解释所有文化差异.

sql oracle oracle10g

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

帮助优化Oracle查询?

我试图从这个Oracle查询中获得更好的性能(这非常慢).我是Oracle初学者,所以也许有人可以指出一种更好的方法来处理这个问题.

我有一张表格,里面有关于不同家庭的信息.我想根据关系类型提取不同的关系.我想出的解决方案使用散列连接来查询数据库...

select *
from (
  with target_person as (
    select 
      p.person_id,
      p.family_number,
      p.relationship_type_id
    from 
      people p
    where
      p.relationship_type_id = 1 -- parent
  )
  select
    target_person.person_id,
    related_person.related_person_id,
    related_person.relationship_type_id
  from
    target_person,
    people related_person
  where
    target_person.person_id != related_person.person_id
    and target_person.family_number = related_person.family_number
    and related_person.relationship_type_id = 1
);
Run Code Online (Sandbox Code Playgroud)

oracle optimization

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