【问题标题】:What is the proper syntax for stored procedures in SQLPlus?SQLPlus 中存储过程的正确语法是什么?
【发布时间】:2011-12-03 21:51:21
【问题描述】:

在 sqlplus 中编写存储过程的正确语法是什么?互联网在这一点上令人惊讶地没有帮助,因为 SQL 教程似乎没有指定他们的环境,或者他们给出的示例有点令人困惑。我认为解决这个问题的最简单方法是我将发布两个命令(在我需要制作的几个命令中),如果有人可以编写他们看起来像存储过程的东西,我相信我可以弄清楚其余的我一个人出去。

命令 1: 代码:

SELECT COUNT(username)
FROM "ValidClients"
WHERE username = [username goes here];

命令 2: 代码:

INSERT into "ValidClients"
/*zero is overridden by a sequence trigger*/
VALUES (0, [username], [password]);

如您所见,它是非常基本的东西,我只是习惯了 Microsoft SQL Server,所以 SQLPlus 语法让我有点不适应。提前致谢。

【问题讨论】:

    标签: sql oracle stored-procedures sqlplus


    【解决方案1】:

    这是来自 Google 的 example

    CREATE PROCEDURE addtuple1(i IN NUMBER) AS
    BEGIN
        INSERT INTO T2 VALUES(i, 'xxx');
    END addtuple1;
    

    entire tuturial 看起来不错。

    【讨论】:

    • 感谢您的回答,我已查看该教程。只是(请原谅我看起来有点愚蠢),我在将答案映射到我的解决方案时遇到了一些麻烦。例如,我真的不明白为什么有时使用 NUMBER 约束,有时使用 INTEGER(也许简单的答案是数字允许小数)。这与我的回答无关,但在查看语法时让我感到困惑。
    • Oracle 将 INTEGER 指定为 NUMBER 的子类型。您是正确的,NUMBER 可以接受分数,而 INTEGER 不能。在内部,尽管 Oracle 仍会将 INTEGER 视为 NUMBER。
    猜你喜欢
    • 2011-10-24
    • 2013-02-09
    • 1970-01-01
    • 2013-08-06
    • 2015-10-22
    • 2019-05-29
    • 2021-11-21
    • 2011-06-12
    • 2010-09-18
    相关资源
    最近更新 更多