在 SQL 查询中,我们确实使用 Group by 子句来应用聚合函数。
我是一名 Java 开发人员,目前我使用 PostgreSQL 作为 RDBMS。不过我也想学oracle。那么我可以免费下载最新版本的 Oracle(我猜是 11g)吗?
我找到了这个链接:Oracle Database 11g Release 2 Downloads,似乎可以下载。但是,我知道 Oracle Server 是专有的。那么它是如何工作的呢?
另外,在下载 Oracle 11g 的同时还会有 PL/SQL 吗?
我知道这个问题可能听起来太愚蠢了,但我从来没有理解这部分。
SQL*Plus 适用于 SQL 和 PL/SQL。我如何知道某些代码是 SQL 还是 PL/SQL?如果我的代码有 for 循环,它就不再是 SQL 了吗?
PL/SQL 是 SQL 的扩展,具有循环、条件等。那么任何 SQL 代码默认都是 PL/SQL 代码?不是这样吗?
SQL 和 PL/SQL 之间有分界线吗?
区分触发此问题的黑白 SQL 和 PL/SQL 的两个示例:
鉴于这种:
DECLARE
TYPE T_ARRAY IS TABLE OF VARCHAR2(2000) INDEX BY BINARY_INTEGER;
MY_ARRAY T_ARRAY;
V_COUNT INTEGER;
Run Code Online (Sandbox Code Playgroud)
我想要做:
BEGIN
-- ... some code filling the MY_ARRAY array
-- obviously COUNT_ELEMENTS() does not exists, this is what I'm looking for :-)
V_COUNT := COUNT_ELEMENTS(MY_ARRAY);
DBMS_OUTPUT.PUT_LINE('My array containts ' || V_COUNT || ' elements.');
END;
Run Code Online (Sandbox Code Playgroud)
有什么比创建一个执行基本循环递增计数器的过程更好的方法吗?也许 PL/SQL 本机函数已经这样做了COUNT_ELEMENTS()?
我知道变异表错误是由设计缺陷或有问题的查询引起的。
最近将一个旧查询投入生产,它引发了一个变异表错误。我们的 DBA 解决了这个问题,但我们不知道如何解决。
究竟是什么导致了变异表错误,我们的 DBA 将如何解决这个问题?
PLS-00306: 调用 'string' 时参数的数量或类型错误
原因:当命名的子程序调用无法与该子程序名称的任何声明匹配时,就会发生此错误。子程序名称可能拼写错误,参数可能具有错误的数据类型,声明可能有误,或者声明可能在块结构中的位置不正确。例如,如果使用拼写错误的名称或错误数据类型的参数调用内置平方根函数 SQRT,则会发生此错误。
行动:检查子程序名称的拼写和声明。还要确认它的调用是正确的,它的参数是正确的数据类型,如果它不是一个内置函数,它的声明是否正确地放置在块结构中。
如何快速识别错误的论点?
我有一个包含数十个参数的存储过程。有没有一种简单的方法来检查使用的和定义的程序之间的差异?我不想逐行检查它..
我已经写了一年的基本 Web 应用程序(用于 Oracle 数据库),并且由于函数非常简单,我们大多数人都坚持使用常规 FOR 循环来获取我们的数据:
for i in (select * from STUDENTS) loop
htp.prn(i.student_last_name || ', ' || i.student_first_name || ' ' || i.student_dob);
end loop;
Run Code Online (Sandbox Code Playgroud)
但是,游标似乎是做事的“正确”方式。我可以找到很多关于游标是什么以及遍历它们的不同方法的信息,但是我找不到在常规 FOR 循环上使用它们的可靠理由。它是否取决于程序的需要?是否有我应该注意的固有优势?
我们需要确保只有一个特定过程的副本在 Oracle 中运行。如果它已经在运行并且用户试图打开另一个,那么它应该会出错。
这样做的最佳方法是什么?
这个问题只需要一个答案:Oracle 入门的大量资源列表,包括数据库管理、PL/SQL 和 SQL。
您可能会发现您的问题已作为此问题的副本而关闭,如果是这样,请不要生气:我们正在努力在不削弱本网站专家重点的情况下尽可能提供帮助。结束一个与此问题重复的问题是我们说“您真正需要的是花一些时间阅读一些可用的最佳资源,而不是立即回答您的特定问题。如果您确实阅读了这些资源,您将很快就会带着更高级的问题回来!