问题标签 [firebird2.1]
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.
sql - 在 Firebird 中会是一种在 INSERT 过程中自动更新重合行的方法吗?
如果您正在运行从另一个表中插入一组新记录的查询,则有一种方法可以强制更新目标表中的重合 pk 记录,而无需删除记录或将进程拆分为另外两个(插入新的和更新现有的)?
php - ibase_execute 只是在出现死锁时挂起
设置:firebirdsql 2.1.3 win32, php 5.3(随 xampp 安装) . 当没有死锁时,一切正常。任何想法如何抓住这个?
sql - 如何更新firebird中的重复项?
在谷歌搜索“火鸟更新重复”和“火鸟处理重复更新”但没有得到任何东西,这可以解决我的问题;所以我认为第一次使用这个奇妙的网站是个好主意:) 那么我如何实现mysql的“INSERT INTO asdf (x,y,z) VALUES ('a',1,2) ON DUPLICATE KEYS在火鸟中更新 z = 2"?
提前致谢!
sql - 如何使用 IBexpert 在整个 SQL 数据库中搜索指定字符?
如何使用 IBexpert 在整个数据库中搜索某些特定字符?
例如:
我在表格数据的某些部分有一些“'”('),这让我稍后会出错,而且我有很多表格需要手动搜索......我该怎么做?
谢谢
database - 数据库设计问题 - 哪个是最好的解决方案?
我正在使用 Firebird 2.1,我正在寻找解决此问题的最佳方法。
我正在编写一个日历应用程序。不同用户的日历条目存储在一个大日历表中。每个日历条目都可以有一个提醒集——只有一个提醒/条目。
从统计上看,随着时间的推移,日历表可能会增长到数十万条记录,而提醒会少得多。
我需要不断地查询提醒。
哪个是最好的选择?
A)将提醒信息存储在日历表中(在这种情况下,我将查询数十万条 IsReminder = 1 的记录)
B)创建一个单独的 Reminders 表,其中仅包含设置了提醒的日历条目的 ID,然后使用 JOIN 操作查询这两个表(或者可能在它们上创建一个视图)
C) 我可以在 Reminders 表中存储所有关于提醒的信息,然后只查询这个表。缺点是需要在两个表中复制一些信息,例如为了显示提醒,我需要知道事件的开始时间并将其存储在提醒表中 - 因此我要维护两个具有相同值的表。
你怎么看?
还有一个问题:Calendar 表将包含多个用户的日历,仅由 UserID 字段分隔。由于只能有4-5个用户,即使我在这个字段上放了一个索引,它的选择性也会很差——这对于一个有几十万条记录的表来说是不好的。这里有解决方法吗?
谢谢!
stored-procedures - Firebird 2.1 存储过程连接多行文本
我正在尝试编写一个存储过程来将多行文本连接在一起以将其作为单个字符串返回。例如:
但是,当我运行时:
它总是返回零行。
有任何想法吗?
delphi - 将变体转换为双精度时出错 [ Delphi XE + IBObjects 4.9.12 ]
我的配置:
Delphi XE
Firebird 2.1
IBObjects 4.9.12
Windows 7 64 位
当我尝试将值设置为 IBOQuery 参数时出现异常(“无法将类型的变体 (UnicodeString) 转换为类型 (Double)”)。
异常是从 IB_Components.pas 中的 TIB_Column.SetAsVariant 过程引发的(第 42795 行)。要创建这种情况,只需尝试将字符串传递给日期参数:
myQuery.paramByName('mydate').AsString := DateToStr(IncDay(Now,5));
在过去的 25 天里,我试图解决这种情况,但在 IBO 支持列表中我没有得到任何答案。
有人有想法吗?
stored-procedures - 使用 JPA NamedStoredProcedureQuery 在 Firebird 中执行存储过程
...执行此代码我得到
[EL 警告]:2011-02-10 17:32:16.846--UnitOfWork(1267140342)--异常 [EclipseLink-4002] (Eclipse Persistence Services - 1.2.0.v20091016-r5565): org.eclipse.persistence.exceptions .DatabaseException 内部异常:org.firebirdsql.jdbc.FBSQLException:GDS 异常。335544569. 动态 SQL 错误 SQL 错误代码 = -104 令牌未知 - 第 1 行,第 36 列 = 错误代码:335544569 调用:EXECUTE PROCEDURE LOGIN_PROCEDURE(USER_NAME = ?, USER_PASSWORD = ?) bind => [user, pw] 查询:DataReadQuery(名称=“登录程序”)
-104 SQL 错误通常表示 SQL 语法错误。
在调用 query.getSingleResult() 之前,所有内容都会被正确处理。调用 query.getResultList() 不会改变任何东西。我已经尝试了几个 1.x 和 2.x EclipseLink 版本。Firebird DB 版本是 2.1。
JPA2 声明是:
更新:在稍微修改之后,我相信 EclipseLink 实现中可能存在错误,因为EXECUTE PROCEDURE LOGIN_PROCEDURE(USER_NAME = ?, USER_PASSWORD = ?)不是用于调用过程的有效 Firebird 2.1 语法。
sql - 火鸟常数UDF
是否可以将 EXTERNAL FUNCTION 设为常量或不可变,以便 Firebird 知道在一个 SQL 语句的过程中不会重新计算它?
在下面的示例(Firebird 2.1)中,我希望 GETTIMEOFDAY() 的行为类似于 CURRENT_TIMESTAMP,但它会被评估两次:
如您所见,“TS”的值保持不变,但我的“TIME_T”在 FB_SLEEP() 调用中前进。(FB_SLEEP 是一个方便的函数,可以暂停给定的秒数。)
我想要的可能吗?我知道 PostgreSQL 的STABLE FUNCTIONS概念正是允许这样做的。
sql - SQL Where 子句返回多个结果
我在 WHERE 子句中有一个包含多个条件的 SQL 语句,但是一旦满足一个条件,查询就会停止。我需要的是查询返回与条件之一有关的所有行。
例如:
在这种情况下,查询必须搜索 EFNAME 为 Sebastien 的所有记录。我的数据库中有两条符合此条件的记录,但是查询只返回第一个结果。我将如何显示与此条件匹配的所有记录?