问题标签 [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.
postgresql - 从 Firebird 迁移到 Postgresql 的触发器
我需要将数据库从 Firebird 1.5 迁移到 PostgreSQL(版本 8.4,这是安装在我客户服务器中的版本。它不受我的控制,所以我无法更新)。
我使用了 EasyFrom 程序的试用版,它适用于表,但似乎触发器没有迁移(我使用了select * from pg_trigger
命令并且我想要迁移的触发器没有显示;也在 pgAdmin 中,在 Schemas > Public > 表 > specific_table > 触发器什么都没有)
是否有迁移触发器的程序或简单方法?还是我需要手动创建触发器迁移?
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 的错误
请问还有什么想法吗?
stored-procedures - Firebird 1.5 “执行 if” 程序
在我的应用程序中,我运行脚本以在每次更新时扩展和更改数据库。我仍然必须支持 Firebird 1.5,因为有些用户只是不会升级。
有时脚本会失败,我必须提供更正错误的更新。由于它们并不总是发生,我需要这样的东西:
- 如果存在则删除(对于视图,因为 FB 1.5 中没有更改视图)添加
- 列(如果不存在)(添加表列)
- 如果在表的 col 中找不到 val,则执行 sql
前两个工作得很好,但最后一个没有:
设置术语 ^ ;
如果我执行
什么都没发生。调试程序显示(在满足条件的情况下)该行
执行语句sql;
被执行但没有任何反应。即使 sql 包含无效的 sql 也没有任何反应。
我确信我在这里遗漏了一些重要的东西,如果有人能提供帮助,我将不胜感激!
编辑:我将执行语句 sql 更改为执行语句 :sql 并将 sql 更改为 asql 无济于事。
firebird - Firebird 剥离程序、trggers 视图和 udf
我正在准备我的软件的新版本,从 Firebird 1.5 过渡到 3。我的安装程序备份 Firebird 1.5 数据库,并根据安装类型(本地/多用户)通过 Firebird 3 服务器或嵌入式服务器恢复它。这一切都很好。
我想使用新的 Firebird 功能重新创建所有过程触发器和视图,并尝试摆脱我在 1.5 中使用的 UDF。因此我试图删除所有这些东西,但我偶然发现了我无法删除的问题,例如,使用 FB3 中不存在的 UDF 的视图。由于 UDF 不适用于 Firebird 3,我有点卡住了。
删除旧数据库中的这些对象是没有选择的,因为我不想破坏这个后备选项。也不能进行两次备份/恢复,因为我们谈论的是相当大的数据库。
我需要让安装程序完成所有这些,因为我无法访问所有客户系统。
database-trigger - 在现有触发器 Firebird 1.5.6 上创建或更改
我最近遇到了这个问题:我为错误的表创建了一个触发器(拒绝删除表 PHI)。
我忽略了触发器是在表 DHI 而不是 PHI 上创建的。所以更正了语句并再次运行它 - 通常 - 重新创建触发器并应该更正问题。
脚本成功执行,但 - 真的很奇怪 - 旧触发器仍然存在。PHI 上没有触发器,旧触发器在 DHI 上仍然有效。
如果以相同的方式更改其他触发器而不更改目标表,则始终接受更改(如预期的那样)。
解决上述问题的唯一方法是在运行脚本之前删除触发器。当然,这不是一个真正的问题,但像这样的事情让我感到害怕,因为如果出现问题,我不能依赖被触发的异常。
更新:我编辑了完整的帖子,很抱歉首先发布了不完整的注释。我破解了它并想稍后完成它,但不小心过早地发布了它。对此感到抱歉。
concatenation - Firebird 中 LIST 聚合函数的替代方案
我有一个表订单:
什么 sql 会产生以下输出?
不幸的是,不能使用 LIST,因为这是旧的 Firebird 1.5xxx。还有其他可能吗?
sql - 仅列出唯一用户
表是users
,列是user_id
, firstname
, lastname
, area
。
另一个表是user_sessions
, 列是user_id
, logon
, logoff
。
要查看谁登录,我使用
结果是正确的,但有时我会得到重复的条目。
例如,相同firstname
的和lastname
,但不同的登录。我只想看到最新的登录。
sql - 即使使用强制转换,带有 UNION 的 Firebird SQL 语句也会给出未知的数据类型
我有以下查询,其中在一个联合查询中,字段必须为 0,而在另一部分中,它给出子查询的平均值。我必须使用 SELECT 子查询。我不能使用 JOINS,因为它会在结果集中产生双倍的记录(实际查询要复杂得多):
数据库中的所有字段都是浮点类型,但我仍然得到数据类型未知。
有没有办法知道有哪种数据类型AVG(T3.C+T3.E)
?
我的解决方法是使用(T1.C*0) as C
而不是CAST(0 as FLOAT) as C
.
sql - 火鸟 1.5 联盟
我正在尝试获取报告以在每一行中显示不同的结果
例如,上面将给我 4 列和 1 行结果。现在我想让 March(例如)在第二行......等等。
建议?
sql - SQL 使用“first 1”进行多重选择和分组
尽管标题令人困惑,但我认为这很简单,我有一个格式如下的数据库:(示例)
我已经尝试了很多方法,但我还没有得出结果。数据库有超过 2 万种产品,我想知道如何“选择每种类型的前 1”(“按类型分组”并只显示每种类型的“前 1”)
数据库是火鸟 1.5。