📜  在 PL/SQL 中打印 GeeksforGeeks 的金字塔

📅  最后修改于: 2022-05-13 01:57:13.956000             🧑  作者: Mango

在 PL/SQL 中打印 GeeksforGeeks 的金字塔

PL/SQL 是一种块结构语言,它使开发人员能够将 SQL 的强大功能与过程语句结合起来。一个块的所有语句都一次传递到oracle引擎,从而提高了处理速度并减少了流量。
PL/SQL 通过添加过程语言中的结构来扩展 SQL,从而产生比 SQL 更强大的结构化语言。 PL/SQL 中的基本单位是块。所有 PL/SQL 程序都由块组成,这些块可以相互嵌套。

通常,每个块在程序中执行一个逻辑操作。一个块具有以下结构:

DECLARE
    declaration statements;

BEGIN
    executable statements

EXCEPTIONS
    exception handling statements

END;

现在在 pl/sql 中编写一个程序,它打印如下所示的字符串“GeeksforGeeks”的金字塔

例子 -

GeeksforGeeks
GeeksforGeek
GeeksforGee
GeeksforGe
GeeksforG
Geeksfor
Geeksfo
Geeksf
Geeks
Geek
Gee
Ge
G

代码 -



C++
--Declaration Block
DECLARE
 
-- declaration of string as Geeksforgeeks
str VARCHAR2(100) := 'GeeksforGeeks';
 
-- len of string and num for no of rows
len VARCHAR2(100);
num NUMBER(15);
 
-- execution part begin
BEGIN
 
--calculating length of string
num:=LENGTH(str);
 
 
-- starting of while from
-- from num to till num>1
WHILE num>=1
    LOOP
        len:=SUBSTR(str,1,num);
        num:=num-1;
        DBMS_OUTPUT.PUT_LINE(len);
         
--ending of loop here       
END LOOP;
 
-- end of beginning block
END;
 
-- End program


输出:

GeeksforGeeks
GeeksforGeek
GeeksforGee
GeeksforGe
GeeksforG
Geeksfor
Geeksfo
Geeksf
Geeks
Geek
Gee
Ge
G

SQL的缺点——

  • SQL 没有为程序员提供条件检查、循环和分支技术。
  • SQL 语句一次一条地传递到 Oracle 引擎,这会增加流量并降低速度。
  • SQL 在操作数据期间没有错误检查功能。