在 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 在操作数据期间没有错误检查功能。