问题标签 [firebird1.5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
500 浏览

postgresql - 从 Firebird 迁移到 Postgresql 的触发器

我需要将数据库从 Firebird 1.5 迁移到 PostgreSQL(版本 8.4,这是安装在我客户服务器中的版本。它不受我的控制,所以我无法更新)。

我使用了 EasyFrom 程序的试用版,它适用于表,但似乎触发器没有迁移(我使用了select * from pg_trigger命令并且我想要迁移的触发器没有显示;也在 pgAdmin 中,在 Schemas > Public > 表 > specific_table > 触发器什么都没有)

是否有迁移触发器的程序或简单方法?还是我需要手动创建触发器迁移?

0 投票
2 回答
92 浏览

sql - 表 1 上 ID 中的字段名称,但其他表上的名称

这是一个火鸟数据库。

第一个表

联系人 Company_ID - job_title

第二张表

Client_id - Co_name

在联系人中,我希望 job_title 字段包含 co_name。

client_id 和 company_id 相同。Co_name 对应于 company_id 以及 client_id。

这个:

给我一个找不到的错误(clients.co_name)

这另一个选项:

给我一个关于 JOIN 的错误

请问还有什么想法吗?

0 投票
1 回答
341 浏览

stored-procedures - Firebird 1.5 “执行 if” 程序

在我的应用程序中,我运行脚本以在每次更新时扩展和更改数据库。我仍然必须支持 Firebird 1.5,因为有些用户只是不会升级。

有时脚本会失败,我必须提供更正错误的更新。由于它们并不总是发生,我需要这样的东西:

  1. 如果存在则删除(对于视图,因为 FB 1.5 中没有更改视图)添加
  2. 列(如果不存在)(添加表列)
  3. 如果在表的 col 中找不到 val,则执行 sql

前两个工作得很好,但最后一个没有:

设置术语 ^ ;

如果我执行

什么都没发生。调试程序显示(在满足条件的情况下)该行

执行语句sql;

被执行但没有任何反应。即使 sql 包含无效的 sql 也没有任何反应。

我确信我在这里遗漏了一些重要的东西,如果有人能提供帮助,我将不胜感激!

编辑:我将执行语句 sql 更改为执行语句 :sql 并将 sql 更改为 asql 无济于事。

0 投票
1 回答
245 浏览

firebird - Firebird 剥离程序、trggers 视图和 udf

我正在准备我的软件的新版本,从 Firebird 1.5 过渡到 3。我的安装程序备份 Firebird 1.5 数据库,并根据安装类型(本地/多用户)通过 Firebird 3 服务器或嵌入式服务器恢复它。这一切都很好。

我想使用新的 Firebird 功能重新创建所有过程触发器和视图,并尝试摆脱我在 1.5 中使用的 UDF。因此我试图删除所有这些东西,但我偶然发现了我无法删除的问题,例如,使用 FB3 中不存在的 UDF 的视图。由于 UDF 不适用于 Firebird 3,我有点卡住了。

删除旧数据库中的这些对象是没有选择的,因为我不想破坏这个后备选项。也不能进行两次备份/恢复,因为我们谈论的是相当大的数据库。

我需要让安装程序完成所有这些,因为我无法访问所有客户系统。

0 投票
0 回答
177 浏览

database-trigger - 在现有触发器 Firebird 1.5.6 上创建或更改

我最近遇到了这个问题:我为错误的表创建了一个触发器(拒绝删除表 PHI)。

我忽略了触发器是在表 DHI 而不是 PHI 上创建的。所以更正了语句并再次运行它 - 通常 - 重新创建触发器并应该更正问题。

脚本成功执行,但 - 真的很奇怪 - 旧触发器仍然存在。PHI 上没有触发器,旧触发器在 DHI 上仍然有效。

如果以相同的方式更改其他触发器而不更改目标表,则始终接受更改(如预期的那样)。

解决上述问题的唯一方法是在运行脚本之前删除触发器。当然,这不是一个真正的问题,但像这样的事情让我感到害怕,因为如果出现问题,我不能依赖被触发的异常。

更新:我编辑了完整的帖子,很抱歉首先发布了不完整的注释。我破解了它并想稍后完成它,但不小心过早地发布了它。对此感到抱歉。

0 投票
1 回答
538 浏览

concatenation - Firebird 中 LIST 聚合函数的替代方案

我有一个表订单:

什么 sql 会产生以下输出?

不幸的是,不能使用 LIST,因为这是旧的 Firebird 1.5xxx。还有其他可能吗?

0 投票
1 回答
63 浏览

sql - 仅列出唯一用户

表是users,列是user_id, firstname, lastname, area

另一个表是user_sessions, 列是user_id, logon, logoff

要查看谁登录,我使用

结果是正确的,但有时我会得到重复的条目。

例如,相同firstname的和lastname,但不同的登录。我只想看到最新的登录。

0 投票
1 回答
748 浏览

sql - 即使使用强制转换,带有 UNION 的 Firebird SQL 语句也会给出未知的数据类型

我有以下查询,其中在一个联合查询中,字段必须为 0,而在另一部分中,它给出子查询的平均值。我必须使用 SELECT 子查询。我不能使用 JOINS,因为它会在结果集中产生双倍的记录(实际查询要复杂得多):

数据库中的所有字段都是浮点类型,但我仍然得到数据类型未知。

有没有办法知道有哪种数据类型AVG(T3.C+T3.E)

我的解决方法是使用(T1.C*0) as C而不是CAST(0 as FLOAT) as C.

0 投票
1 回答
209 浏览

sql - 火鸟 1.5 联盟

我正在尝试获取报告以在每一行中显示不同的结果

例如,上面将给我 4 列和 1 行结果。现在我想让 March(例如)在第二行......等等。

建议?

0 投票
3 回答
2248 浏览

sql - SQL 使用“first 1”进行多重选择和分组

尽管标题令人困惑,但我认为这很简单,我有一个格式如下的数据库:(示例)

我已经尝试了很多方法,但我还没有得出结果。数据库有超过 2 万种产品,我想知道如何“选择每种类型的前 1”(“按类型分组”并只显示每种类型的“前 1”)

数据库是火鸟 1.5。