小编a_h*_*ame的帖子

如何查找PL SQL包中受影响的表?

我必须找出现有的PL SQL包中要插入或更新到其中的表的列表。我开始分析该软件包。令人担忧的是,程序包代码在数千行代码中运行,并依次调用许多其他程序包。另外,代码不是我写的。由于它是开发环境,因此无法运行AWR报告。

启动事务后,是否有办法将插入/更新的表插入其中?是否可以编写触发器来满足我的要求?

sql oracle plsql stored-procedures

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

SQL在单个列上存在多个条件

我需要使用WHERE子句显示表的记录,该子句又取决于另一列的值。

例如说,从表dba_Segments中列出消耗> 200000字节的表和消耗> 100000字节的索引

以下是我尝试过的

select o1.segment_name,o1.bytes from dba_segments o1
inner join 
( select segment_name,bytes from dba_segments where segment_type='INDEX' and bytes>10000000) o2
on o1.segment_name=o2.segment_name where o1.segment_type='TABLE' and
o1.bytes>20000000;
Run Code Online (Sandbox Code Playgroud)

输出是no rows selected我相信WHERE子句互相抵消。

我想同时获得两个记录(表和索引)。

请提出实现此目标的最有效方法。

尽管我是dba,但我不太擅长SQL。

sql oracle join case

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

Microsoft SQL Server Management Studio安装程序被阻止

我已经安装了SQL Server 2018,并且想要安装Microsoft SQL Server Management Studio。在安装SSMS时出现以下问题。

设置被阻止某些东西阻止了设置的继续

单击此处获取日志文件

只能通过安装匹配语言的软件包来升级SSMS。请使用匹配的安装程序版本,或卸载当前版本的SSMS,然后再次运行SSMS安装程序

我已经手动删除了下面的文件 C:\Program Files (x86)\Microsoft SQL Server\140\Tools

并且已经多次重启计算机。

仍然出现相同的问题。

我应该如何解决这个问题?请帮我。

ssms

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

How do I use COALESCE to return 'N/A' when the value of a TIMESTAMP column is NULL?

Is it possible to use COALESCE (or any other way) to replace NULL values from a TIMESTAMP column with a string like 'N/A'?

In my SELECT statement I have a

CASE WHEN n.expiration_date::date IS NULL THEN 'N/A' ELSE n.expiration_date::date END
Run Code Online (Sandbox Code Playgroud)

When I try this, I get this error, which makes sense:

invalid input syntax for type date: "N/A"

I found this blog post too about this problem. Is there a way around it?

postgresql coalesce sql-timestamp sql-null

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

PostgreSQL 中的主键不是 AUTO INCREMENT

我有表类别,我有 3 列category_id, category_name,category_description。当我执行不带category_id参数的插入脚本时,出现此错误:

ERROR:  null value in column "category_id" violates not-null constraint
DETAIL:  Failing row contains (null, T_601, Yojimbo).
SQL state: 23502
Run Code Online (Sandbox Code Playgroud)

这是我的选择脚本:

INSERT INTO category ( category_name, category_description)
    VALUES ('T_601', 'Yojimbo');
Run Code Online (Sandbox Code Playgroud)

这是我的桌子的图像: 吨

sql postgresql auto-increment

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

ORA-04054: 数据库链接 GMAIL.COM 不存在

我需要帮助我的大学项目(带有 hibernate 和 oracle 数据库的 Java web),这必须编辑之前已经添加的用户:Mail pk pass typeuser.iduser FK。

添加和删​​除它工作但不编辑,错误是:javax.servlet.ServletException:java.sql.SQLSyntaxErrorException:ORA-04054:数据库链接GMAIL.COM不存在

我已经尝试使用准备好的语句,但我认为我做错了

邮件不需要编辑。只有用户和密码的类型需要它,但在按下编辑按钮的那一刻,它显示错误 gmail.com 不存在

<%
            //CONECTANOD A LA BASE DE DATOS:

            Class.forName("oracle.jdbc.OracleDriver").newInstance();
            Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "C##PORTA", "oracle");
            String id = request.getParameter("correo");
            PreparedStatement  stm = con.prepareStatement(id);
            String Query = "select * from usuario where correo=" + id;
            PreparedStatement ps;
            ResultSet rs = stm.executeQuery(Query);
            while (rs.next()) {
        %>``` 



Run Code Online (Sandbox Code Playgroud)

java sql oracle jdbc

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

两个条件 Where 子句 SQL

当满足 2 个条件时,我需要过滤一些行,但不排除其他行。

桌子:

idRow   idMaster    idList
1         10        45
2         10        46
3         10        47
4         11        10
5         11        98
6         14        56
7         16        28
8         20        55
Run Code Online (Sandbox Code Playgroud)

例子:

什么时候:

  • idMaster=10 和 id List=45(只显示 idMaster 10 的这个组合)
  • idMaster=11 和 idList=98(仅显示 idMaster 11 的此组合)
  • 也列出所有其他行。

预期结果:

idRow   idMaster    idList
1         10        45
5         11        98
6         14        56
7         16        28
8         20        55
Run Code Online (Sandbox Code Playgroud)

运行 SQL Server 2014

我尝试了 CASE IF 的组合,但所有情况只过滤 idMaster=10,11 和 idList=45,98,不包括其他行

sql sql-server where-clause conditional-statements

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

JDBC如何管理数据完整性

有人问我这个问题并探索答案。

JDBC驱动程序如何在Java和数据库之间传输数据时确保数据完整性。任何人都有链接或任何文档说明JDBC驱动程序如何实现它?

java oracle jdbc

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

PL / SQL中的模块化功能

我是PL / SQL的新手,我正在尝试实现模块化功能。

我相信这项工作非常容易,SQL的语言就像python一样,但是,我在使用游标时遇到了麻烦(在我的程序中这似乎是必需的),但是除了使用游标之外,还有什么方法可以做到这一点程序仅使用if / else和循环?(尽管它要求使用游标,但我确实认为没有必要...)

SET SERVEROUTPUT ON

accept p_num1 prompt 'Please enter the number: '

declare
    myint  number(10):= &p_num1;

begin
    if myint is null THEN        
        DBMS_OUTPUT.PUT_LINE(0);
    else
        for i in myint loop
            if mod(i,2) = 0 then
                DBMS_OUTPUT.PUT_LINE('This is even' || i);
            else
                DBMS_OUTPUT.PUT_LINE('This is odd' || i);
            end if;
        end loop;
    end if;

exception
    when others then
        DBMS_OUTPUT.PUT_LINE('You get whatever errors');
end;
/
Run Code Online (Sandbox Code Playgroud)
SET SERVEROUTPUT ON

accept p_num1 prompt 'Please enter the number: '

declare
    myint  number(10):= …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql

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

根据SQL为表格中的每个事件计数

我在类似于PostgreSQL的类似SQL的数据库模式SQL中有表,类似于PostgreSQL,其中包含以下行:

server_time, user_id, transaction_id, revenue_eur
Run Code Online (Sandbox Code Playgroud)

我正在尝试查看重新转换,因此我想为每个用户计算他的第一,第二,第三...购买了什么。雪花允许横向连接,但我不确定该怎么做。

输出应如下所示:

      date     user_id   purchased_number
   2019-07-25  123121         1
   2019-07-26  123121         2
   2019-07-27  123121         3
   2019-07-25   8565          1  
   2019-07-25   8565          2
Run Code Online (Sandbox Code Playgroud)

sql snowflake-cloud-data-platform

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