小编BQ.*_*BQ.的帖子

Oracle - 选择字段包含小写字符的位置

我在Oracle 9.2.0.6数据库中有一个表users.其中两个字段是varchar - last_name和first_name.

当行插入此表时,第一个名称和姓氏字段应该全部为大写,但不知何故,这两个字段中的某些值是大小写混合的.

我想运行一个查询,它将向我显示表中包含带小写字符的名字或姓氏的所有行.

我在网上搜索并找到了REGEXP_LIKE,但这必须是为了更新版本的oracle - 它似乎对我不起作用.

我尝试的另一件事是将"abcde ... z"翻译为"$$$$$ ... $",然后在我的字段中搜索"$",但必须有更好的方法吗?

提前致谢!

sql oracle indexing select case-sensitive

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

为什么无参数的Guid构造函数会生成一个空的GUID?

为什么无参数的Guid构造函数生成一个空的GUID而不是像Guid.NewGuid()一样默认生成的GUID?

空Guid有特殊用途吗?

.net c# guid default-constructor

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

读取EDI格式化文件

我是EDI的新手,我有一个问题.

我已经读过,通过查看ISA行的最后3个字符,您可以获得有关EDI格式的大部分内容.如果每个EDI都使用换行符来分隔实体,这很好,但我发现很多都是单行文件,其中任意数量的字符用作中断.我注意到我解析的每个EDI中的最后一个字符都是break字符.我看了几百个,发现没有例外.如果我第一次抓住那个角色,并使用它来获得ISA线的最后3个,我是否应该合理地期望我能够解析来自EDI的数据?

我不知道这是否有帮助,但EDI'类型'往往是850,875.我不确定这是否是标准,但值得一提.

parsing edi x12

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

哪个更快?使用"IN('x',''y')"的多个DELETE语句或单个DELETE语句"

只是想知道哪个更快:

DELETE FROM table_name WHERE X='1'
DELETE FROM table_name WHERE X='2'
DELETE FROM table_name WHERE X='3'
Run Code Online (Sandbox Code Playgroud)

要么

DELETE FROM table_name WHERE X IN ('1', '2', '3')
Run Code Online (Sandbox Code Playgroud)

任何想法,提示或参考在哪里阅读?

谢谢你们!

database sql-server

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

链接IEnumerable <T>扩展方法的首选(高效和可读)方式是什么?

如果我试图在IEnumerable<T>对象图的多个级别上过滤结果,是否有一种链接扩展方法的首选方法来执行此操作?

我对任何扩展方法和lambda用法持开放态度,但我不想使用LINQ语法来保持与其余代码库的一致性.

它是更好地过滤推到selector了的SelectMany()方法,或只是链中的另一个Where()方法是什么?或者有更好的解决方案吗?

我如何确定最佳选择?在此测试用例中,所有内容都可直接在内存中使用.显然,以下两个样本目前都产生相同的正确结果; 我只是寻找一个或另一个(或另一个选项)首选的原因.

public class Test
{
    // I want the first chapter of a book that's exactly 42 pages, written by
    // an author whose name is Adams, from a library in London.
    public Chapter TestingIEnumerableTExtensionMethods()
    {
        List<Library> libraries = GetLibraries();

        Chapter chapter = libraries
            .Where(lib => lib.City == "London")
            .SelectMany(lib => lib.Books)
            .Where(b => b.Author == "Adams")
            .SelectMany(b => b.Chapters)
            .First(c => c.NumberOfPages == 42);

        Chapter chapter2 = …
Run Code Online (Sandbox Code Playgroud)

.net c# ienumerable extension-methods

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

我在哪里可以找到/学习行业标准SQL约定?

我在一家公司工作,该公司有一些非标准化的SQL约定(几年前由Delphi Developers编写).在哪里可以找到最常用的SQL行业标准惯例定义?

sql t-sql sql-server

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

Oracle函数并发

我目前有一个INSERT TRIGGER,在Oracle 10g中运行一个自定义函数,生成一个时髦的字母数字代码,用作插入的一部分.

我确实需要确保函数(甚至触发器)是线程安全的,这样如果两个用户一次激活触发器,触发器中使用的函数不会为两个用户返回相同的代码.

触发器中的流程如下:

开始

  1. 确定我们是否需要根据业务逻辑继续
  2. 运行自定义函数以获取新代码
  3. 使用返回的代码作为插入到另一个表中

结束

主要问题是,当第2步运行时,一个单独的线程触发触发器,该触发器也进入第2步,并返回与第一个线程相同的代码.(我知道这是一个非常紧张的情况,但我们需要处理它).

我想到了两种主要的方法:

到目前为止,我想到的当前最好的方法是在触发器的最开始以"独占模式"锁定触发器中使用的表,并且指定锁的NOWAIT属性.这样,触发器的每个后续激活将使锁定"停止并等待",从而等待其他线程完成触发.

我很乐意锁定表格,但我似乎无法在Oracle中找到如何做到这一点.

我的想法并不理想,但它应该有效,但我很乐意听到任何人可能有更好的想法!

非常感谢您给予的任何帮助.

干杯,马克

oracle concurrency triggers plsql function

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