在 PL/SQL 中打印字母金字塔

2023-12-20

我有一个练习编写一个程序,打印出如下所示的字母金字塔:

    A
   ABA
  ABCBA
 ABCDCBA
ABCDFDCBA

该任务还建议使用 INSTR、LPAD、UPPER。

我想要一个包含字母表中所有字母的金字塔。然而,我发现先用数字来表示会更容易,所以:

IF x in 0..25 loop
dbms_output.put_line(x);
end loop;
end; 

结果只是一条从 0 到 25 的数字直线。我不知道如何在数字之前添加空格,数字最终需要是字母,以形成金字塔形状。 请不要给出完整的答案,我只需要一些建议和指示来解决此任务。


这个有效:

DECLARE
    aLine VARCHAR2(100);
BEGIN
    FOR PyramidLevel IN 0..25 LOOP
        aLine := NULL;

        FOR i IN 0..PyramidLevel-1 LOOP
            aLine := aLine || CHR(i+65);
        END LOOP; 

        FOR i IN REVERSE 0..PyramidLevel LOOP
            aLine := aLine || CHR(i+65);
        END LOOP;
        aLine := LPAD(aLine, 26+PyramidLevel);       

       DBMS_OUTPUT.PUT_LINE('_'||aLine);
    END LOOP;
END;


_                         A
_                        ABA
_                       ABCBA
_                      ABCDCBA
_                     ABCDEDCBA
_                    ABCDEFEDCBA
_                   ABCDEFGFEDCBA
_                  ABCDEFGHGFEDCBA
_                 ABCDEFGHIHGFEDCBA
_                ABCDEFGHIJIHGFEDCBA
_               ABCDEFGHIJKJIHGFEDCBA
_              ABCDEFGHIJKLKJIHGFEDCBA
_             ABCDEFGHIJKLMLKJIHGFEDCBA
_            ABCDEFGHIJKLMNMLKJIHGFEDCBA
_           ABCDEFGHIJKLMNONMLKJIHGFEDCBA
_          ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
_         ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA
_        ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA
_       ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA
_      ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA
_     ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA
_    ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA
_   ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA
_  ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA
_ ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA
_ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA

好像DBMS_OUTPUT.PUT_LINE()修剪前导空格字符(至少在我的 TOAD 中),所以我把_一开始。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PL/SQL 中打印字母金字塔 的相关文章

  • 如何从 java.sql.Blob 类型的 zip 文件中读取和提取 zip 条目,而无需将 FileInputStream 或文件路径作为字符串 java

    public static void unzipFiles java sql Blob zip throws Exception String paths byte blobAsBytes zip getBytes 1 int zip le
  • 从多个表中选择 - 一对多关系

    我有这样的表 表产品 身份证 姓名 表格图像 产品 ID 网址 订单号 表价 产品 ID 组合 货币 价格 表数量 产品 ID 组合 数量 表 Product 与其他表是一对多关系 我需要查询表并得到类似这样的结果 伪数组 ProductI
  • 为什么 sql 字段名称中不应该包含逗号?

    人们一直告诉我列名中不应包含空格 我只是想知道 这是为什么 这是我为学校创建的一些数据库表遇到的问题 字段名称包括 Preble 和 Darke 相反 它们需要是 普雷布尔县 俄亥俄州 和 达克县 俄亥俄州 如果它们是行名称 我只需创建一个
  • MySQL:你能指定一个随机限制吗?

    有没有办法在 SQL MySQL 中随机化限制数字 我希望能够做的是在查询中获取随机数量的结果以在插入子查询中使用 而无需任何服务器端脚本 我希望能够作为假设说明运行的查询是 SELECT id FROM users ORDER BY RA
  • 返回行位置 - Postgres

    我返回一个带有位置的表 select from select row number over as position from organization result where data1 Hello 返回这个 这是正确的 data1 H
  • 如何在SQL Server数据库表列中存储图像[重复]

    这个问题在这里已经有答案了 我有一张名为FEMALE在我的数据库中 它有ID as Primary Key 它有一个Image column 我的问题是如何使用 SQL 查询存储图像 尝试一下 insert into tableName I
  • 显示过去 7 天 PHP 的结果

    我想做的是显示过去 30 天的文章 但我现有的代码不断给我一个 mysql fetch assoc 错误 然后追溯到我的查询 这是代码 sql mysql query SELECT FROM table WHERE DATE datetim
  • MySQL 中的断言

    我有一个针对大型数据库运行的 SQL 脚本 我想在开始时提出几个简单的查询 作为健全性检查 有没有办法在MySQL中写断言 或者任何类型的 选择 如果它与该值不匹配 则中止整个脚本 一些疯狂的代码 要点是 SET可能会引发 mysql 变量
  • sql server GO 相当于 oracle

    我正在为 Oracle 编写迁移脚本 我需要更改表结构 然后用数据填充它 我想先进行结构更改 然后再进行数据更改 在 SQL Server 中我会使用GO分离批次 是否有 SQL ServerGOOracle 中的等效命令 It s and
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 如何将自定义类型数组传递给 Postgres 函数

    我有一个自定义类型 CREATE TYPE mytype as id uuid amount numeric 13 4 我想将它传递给具有以下签名的函数 CREATE FUNCTION myschema myfunction id uuid
  • 使用 JPA 时如何在部署时设置序列的架构名称?

    出于安全原因 我们的 Oracle 数据库对象通常属于与登录用户不同的架构 例如 表位于 xx core 中 我们登录的用户是 xx app yy 在我的 persistence xml 中 我定义了一个 orm 文件 以便我可以在部署时指
  • 如何在 Oracle 中列出活动/打开的连接?

    是否有任何隐藏表 系统变量或其他东西可以显示给定时刻的活动连接 Use the V SESSION http docs oracle com cd B19306 01 server 102 b14237 dynviews 2088 htm
  • SQL Server 查询结果集的大小

    SQL Server 中是否有确定结果集中 Mgmt Studio 查询中返回的数据大小 以 MEGS 为单位 您可以打开客户端统计信息 查询菜单 包括客户端统计信息 它给出执行查询时从服务器返回的字节数
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • 在 Postgres 中的数组字段上应用聚合函数?

    是否可以对整数 字段 或其他数字数组 中的所有值应用聚合 如 avg stddev CREATE TABLE widget measurement integer insert into widget measurement values
  • SQL Group BY,每个组的前 N ​​个项目

    我有一个 SQL 查询 可以获取给定商店中销量最高的 5 件商品 SELECT TOP 5 S UPCCode SUM TotalDollarSales FROM Sales S WHERE S StoreId 1 GROUP BY S U
  • APEX:从临时表下载 BLOB

    我正在尝试使用 Oracle APEX 4 1 1 构建一个简单的查看应用程序 要显示的信息位于与包含 APEX 应用程序访问的架构的数据库不同的数据库上的表中 使用视图 View 访问此远程表 远程表视图 和数据库链接 视图按预期工作 包
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe
  • 通过将行旋转为动态数量的列来在 MySQL 中创建摘要视图

    我在 MySQL 中有一个表 其中包含以下字段 id company name year state 同一客户和年份有多行 以下是数据示例 id company name year state 1 companyA 2008 1 2 com

随机推荐

  • 如何制作模拟二维网格的邻接矩阵

    基本上只是想知道在 python 中执行此操作的好方法是什么 我之前也在 python 中使用过一种暴力方式完成此操作 但它并不是直观的方法 所以如果有人能帮忙那就太好了 对于逐行网格 邻接矩阵如下所示 在一行内 相邻的数字形成两条平行的对
  • 错误:RPC 失败; curl 55 发送失败:连接被中止

    Enumerating objects 18 done Counting objects 100 18 18 done Delta compression using up to 4 threads Compressing objects
  • Android服务生命周期延续

    在主要活动中 我有广播接收器 待处理意图和警报管理器 它按照选定的时间触发 System currentTimeMillis smstimeinmilliseconds Intent intent new Intent this DBBro
  • 列表中成对的乘积之和

    这就是我遇到的问题 给定一个列表 xList 9 13 10 5 3 我想计算每个元素乘以后续元素的总和 sum 9 13 9 10 9 5 9 3 sum 13 10 13 5 13 3 sum 10 5 10 3 sum 5 3 在这种
  • 为Spring Kafka设置authorizationExceptionRetryInterval

    任何人都知道如何设置新属性 authorizationExceptionRetryInterval 而无需手动创建 ConcurrentKafkaListenerContainerFactory 我本来想说 Component class
  • 无法捕获的异常,第 2 部分

    Update 我已在 Microsoft Connect 上提交了错误报告 https connect microsoft com VisualStudio feedback details 568271 debugger halting
  • 在 XAML 中设置多个枚举标志

    有没有办法在 XAML 中设置多个枚举标志 传统上在代码隐藏中用 分隔 我尝试过类似的事情
  • 写入/读取 FIFO 文件 - linux

    我一直在尝试了解 FIFO 并提出了一个简单的服务器和客户端程序 我不想做任何花哨的事情 只是让一个进程扮演 服务器 的角色 这个进程将 监听 另一个进程传递的任何消息 客户端 这是我写的 server c include
  • 在“CaseDetailProps”类型上找不到带有“string”类型参数的索引签名

    例如 type CaseDetailProps id number apply degree string year number const caseData CaseDetailProps id 1 apply degree b yea
  • 使用 CALayers 的圆角 UIView - 只有一些角 - 如何?

    在我的应用程序中 有四个按钮 名称如下 左上方 左下方 右上 右下 按钮上方有一个图像视图 或 UIView 现在 假设用户点击左上角按钮 上面的图像 视图应在该特定角处进行圆角处理 我在将圆角应用于 UIView 时遇到一些困难 现在我正
  • 发布/订阅同一服务器集合的多个子集

    编辑 这个问题 一些答案和一些评论包含很多错误信息 看Meteor 收藏 出版物和订阅如何运作 https stackoverflow com a 21853298 1269037为了准确理解发布和订阅同一服务器集合的多个子集 如何将服务器
  • 如何将 ThreeJS Collada 加载器与 TypeScript / Angular CLI 结合使用?

    我已经安装了三个 node modules three 我已将 Collada 加载程序安装在 node modules three collada loader 这些类型似乎已经包括 Collada 加载程序的类型 node module
  • 获取由另一个函数调用的所有函数的列表

    在JavaScript中 是否可以获得由另一个函数调用的所有函数的列表 我想创建一个函数依赖关系树 以分析脚本中的函数如何相互关联 以及哪些函数需要哪些其他函数 例如 getAllCalledFunctions funcA this sho
  • 如何使带有自制库的 Xcode 项目可移植?

    我已经使用 Brew 在我的 mac 上安装了 FreeType 我的 mac 上的代码工作正常 但是当我尝试在其他 mac 上运行该项目时 我收到下面提到的链接错误 dyld Library not loaded usr local op
  • 在管道中的分类器之后使用指标

    我继续调查管道 我的目标是仅通过管道执行机器学习的每一步 将我的管道与其他用例相适应将会更加灵活和容易 所以我做什么 第 1 步 填充 NaN 值 第 2 步 将分类值转换为数字 第三步 分类器 第四步 网格搜索 第5步 添加指标 失败 这
  • 以编程方式将可拖动项移动到某个位置

    假设有一个只能在一个轴上拖动的可拖动对象 有没有办法以编程方式移动它 要么开始 要么增量 当然我可以去改变它的CSSleft属性 但这不会触发 jQuery 提供的拖动事件 我本来期待找到一个dragBy x y 可拖动的方法 这是示例 h
  • 有人可以解释一下这个 C++ 联合示例吗?

    我在 cppreference com 上找到了这段代码 这是我见过的最奇怪的 C 我有几个问题 union S std string str std vector
  • 选择合适的缓存机制

    我的设置 4 个网络服务器 静态内容服务器 NFS挂载 2 个数据库服务器 2 个 施展魔法 的服务器 另外 8 台指定为多用途机器 我正在为三种缓存机制编写一个包装器 以便可以以某种标准化的方式使用它们 文件系统 Memcached 和
  • 来自 STDIN 的 Python JSON 输入出现问题

    input json load sys stdin print input id 当我输入 id 1 并按 Enter 时 我的程序不会继续 我只是卡在输入中 在有效的 json 传递到我的 stdlin 后 如何使程序继续 当你读入时sy
  • 在 PL/SQL 中打印字母金字塔

    我有一个练习编写一个程序 打印出如下所示的字母金字塔 A ABA ABCBA ABCDCBA ABCDFDCBA 该任务还建议使用 INSTR LPAD UPPER 我想要一个包含字母表中所有字母的金字塔 然而 我发现先用数字来表示会更容易