我是火鸟新手。我有 SQL Server 背景。
为了获取当前日期,我在 SQL Server 中使用以下查询
SELECT GETDATE()
Run Code Online (Sandbox Code Playgroud)
我正在火鸟中寻找类似的东西
我已经安装了 Firebird 3.0.2 (x64) 和 IBExpert 2018.12.15.1。
我正在尝试在 IBExpert 上创建 Firebird DB,但每次都会收到此错误:
由于系统错误导致执行不成功,但并不妨碍后续语句的成功执行。
加载插件 Engine12 时出错。
模块 C:\Program Files\Firebird\Firebird_Server\plugins/Engine12 存在但无法加载。*
我的配置:
服务器/协议本地、XNet (FB3)
数据库 C:\Data\Example.fdb
连接字符串 xnet://C:\Data\Example.fdb
客户端库文件 C:\Program Files\Firebird\Firebird_Server\WOW64\fbclient.dll
用户名 SYSDBA
密码主密钥
页面大小 126384
SQL方言3
如何解决这个问题呢?
我们有用户报告 Firebird 数据库对于我们应用程序存储的条目数量来说太大了。
我发现一篇文章 Commit vs CommitRetaining 表明使用 CommitRetaining 并不是最明智的做法,并且可能会阻止 GarbageCollection 工作。
我们的软件由多个应用程序组成,所有应用程序都连接到 Firebird 数据库。有些与某些用户操作绑定并且仅运行几秒钟或几分钟,其他则是可以运行数月的后台应用程序。
因为我认为 CommitRetaining 与 Commit “一样好”,而且我不必小心地启动新事务,所以我在任何地方都使用 CommitRetaining。
现在我想知道,我是否需要让所有应用程序都没有 CommitRetaining,或者是否足够,长时间运行的应用程序是否“干净”,而短时间运行的应用程序并不重要,因为当它们关闭时,这才算作无论如何都要提交?
而且,只是因为我很好奇:Firebird 是否需要使用 CommitRetaining 释放任何连接来执行 GC,或者每个连接都单独处理。
换句话说:假设 2 个应用程序 A 和 B 正在运行
AAAA--AAAA--AAAA-....
---BBBB--BBBB--B...
Run Code Online (Sandbox Code Playgroud)
那么 A 或 B 总是连接到 DB,这会永远阻止 GC 吗?
我需要在Firebird数据库中读取存储过程的参数类型.
我能够读出他们的名字,如果他们是输入或输出参数,但我在哪里可以得到他们的类型?或者你是如何解决这个问题的?
我有一个如下表:
code ---> INTEGER
name ---> CHAR
+------+------+
| code | name |
+------+------+
| 1 | aa |
| 2 | bb |
| 3 | cc |
Run Code Online (Sandbox Code Playgroud)
我想以这种方式用左零填充代码字段:
SELECT LPAD(code,5,'0') FROM table;
Run Code Online (Sandbox Code Playgroud)
这个查询在MySQL中运行良好,但它不适用于SQL Server和PostgreSQL,我正在寻找一个适用于所有数据库的查询,或者至少在这四个数据库上运行:
没有任何变化.有解决方案吗?
我正在写一个存储过程.我知道如何从传递值select成insert.
但是,是否有可能与INSERT INTO使用values,并Select在同一时间?
Insert into table_1 (f1, f2, f3, f4, f5, f6, f7, f8, f9,
FL1, FL2, FL3)
Select :p_f1, :v_f2, :p_f3, :p_f4,
abs(:v_f5 * :p_f5),
abs(:v_f6 * :p_f6),
:v_f7, :v_f8, :v_9 from RDB$DATABASE
UNION
Select f_lookup_id from lookup_table where (f_res >= :v_res) And (f2_lookup_id = :p_id1)
UNION
Select f_lookup_id from lookup_table where (f_res >= :v_res) And (f2_lookup_id = :p_id2)
UNION
Select f_lookup_id from lookup_table where (f_res >= :v_res) And …Run Code Online (Sandbox Code Playgroud) 我有一个在Firebird 2.0中运行的旧数据库,我需要将一个SmallInt列映射到一个布尔类型,当时它SmallInt = 0是False,以及何时SmallInt = 1它True.
我还需要使用Hibernate Annotations完成.
我正在使用Hibernate 3.6.
有小费吗?
提前致谢.
我正在尝试使用以下语法制作只包含不同值的表的副本:
SELECT DISTINCT *
INTO :TAB_DISTINCT
FROM TAB_MAIN
Run Code Online (Sandbox Code Playgroud)
但是IB并不喜欢INTO系列(用该系列评论建立一个好的计划)无效的令牌.动态SQL错误.SQL错误代码= -104.令牌未知 - 第2行,char -1.INTO.
我已尝试使用和不使用冒号,也有没有空的预先存在的TAB_DISTINCT并设置了字段.但没有雪茄.
任何人都有任何线索我在这里做的笨蛋语法错误?非常感谢,Brian
table1具有table2的外键(一个table2到table1).如何获取table2字段列表:
"table2.f1"
"table2.f2"
"table2.f3"
Run Code Online (Sandbox Code Playgroud)
只需给出"table1.f3"(具有table2的外键).如何从系统表中选择它?
谢谢!
我有下表,我正在寻找一个SQL查询,它计算每个名称的奖励,并打印获得特定奖励类型的最后日期.
这是我的表:
NAME | REWARD | DATE
----------+-------------+------------
Chris | small | 18.05.2014
Chris | small | 27.08.2015
Chris | big | 01.07.2014
Tom | big | 10.10.2016
Tom | big | 30.11.2017
Run Code Online (Sandbox Code Playgroud)
结果应如下所示:
NAME | BIG_REWARDS | SMALL_REWARDS | LAST_BIG_REWARD | LAST_SMALL_REWARD
----------+-------------+---------------+-----------------+-------------------
Chris | 1 | 2 | 01.07.2014 | 27.08.2015
Tom | 2 | 0 | 30.11.2017 |
Run Code Online (Sandbox Code Playgroud)
我正在使用Firebird
firebird ×10
sql ×3
commit ×1
delphi ×1
hibernate ×1
ibexpert ×1
interbase ×1
mysql ×1
postgresql ×1
sql-insert ×1
sql-server ×1
types ×1