26得票5回答
如何决定在表列上使用索引

何时应该在表上使用索引? 有多少行数据时使用索引才是明智的选择? 如果我有一张表,其中数据行数不多,只进行某些列的编辑(未在'where'子句中),即使表只有大约15行,使用索引是否还有意义?编辑:在这种情况下,非索引选择/读取是否比索引读取更有效? 编辑: 现在我正在使用Firebi...

14得票3回答
从Firebird数据库表中获取列名列表

如何获取特定表中列名的列表? 例如: Firebird表格: | name | id | phone_number | 获取像这样的列表: columnList = ['name', 'id', 'phone_number']

11得票2回答
Firebird - 在触发器中获取所有修改过的字段

我需要获取一行中所有发生更改的值,并将修改后的内容发布到其他“审核”表中。我能否在不为行中的每个元素编写条件的情况下完成这个操作?我知道这种SQL语句可以从http://www.firebirdfaq.org/faq133/上获得,它可以为您提供所有验证条件:select 'if (new.'...

10得票8回答
如何在Firebird 2.5中选择一个存储过程

我正在使用Firebird嵌入式v2.5。如何在查询(SELECT)中使用存储过程? 我的存储过程:SET TERM ^ ; CREATE PROCEDURE FN_TEST( Y INTEGER ) RETURNS( X INTEGER) AS BEGIN X = Y + 1; END^ ...

10得票2回答
如何检查Firebird数据库运行在哪种服务器模式下(例如SuperClassic或Superserver)?

最新的Firebird 2.5.x数据库可以在Classic、SuperClassic或SuperServer模式下运行。我如何检查已安装的数据库正在哪种模式下运行?

9得票2回答
使用联接更新表格?

我正在尝试使用表B中的数据更新表A。 我认为可以像这样做: update A set A.DISCOUNT = 3 from INVOICE_ITEMS A join ITEM_PRICE_QUNTITY B on A.ITEM_PRICE_NO = B.ID where A.INVOI...

9得票2回答
定义变量并使用EXECUTE BLOCK运行查询

我有一个在Firebird数据库里的大查询(使用FlameRobin运行),并且在各个地方都使用了参数,但是让下面这个查询能够运行就足够了: SELECT * FROM customers WHERE customerid = 1234; 我想定义1234为一个变量,比如说custome...

9得票6回答
如何在存储过程中拆分逗号分隔的字符串?

如何在存储过程中将逗号分隔的字符串拆分为字符串并将它们插入到表字段中? 使用 Firebird 2.5 版本。

8得票1回答
在Firebird 2.5上,只有当字符是数字时才将其转换为整数。

我有一个查询,用于MySQL数据库,它按顺序排列结果,并在可能的情况下(当char字符串是数字时)将char数据库字段转换为整数。例如,我在MySQL上使用的ORDER BY子句如下: ORDER BY CASE WHEN CONVERT(charfield, SIGNED I...

8得票4回答
尝试创建文件时出现Firebird错误,权限被拒绝。

我正在尝试通过Flamerobin在我的主目录中创建一个Firebird数据库,但我总是遇到问题。 *** IBPP::SQLException *** Context: Database::Create Message: isc_dsql_execute_immediate failed ...