Firebird数据库相关备忘录

Firebird数据库中有一些很特别的东西,很好用,但由于平时用的不多,记在这里,以备以后用到时查询。

1、以ADO 的OLE ODBC驱动方式访问 Firebird,可以使用如下连接串:

FBConn:=‘Provider=MSDASQL.1;Driver=Firebird/InterBase(r) driver;Dbname=F:\TEST.FDB;CHARSET=NONE;UID=SYSDBA;PWD=masterkey‘;

2、序列生成器,值是bigint 类型

在做自增加字段时使用,标准教程上都是写在触发器中,我觉得写在用户SQL中使用更方便,也就是从前台调用序列生成器,生成ID值,然后从前台更新到后台去。后台的ID字段只要是普通的int值即可。

create sequence CUSTOMER;

set GENERATOR CUSTOMER to 200;

select gen_id(CUSTOMER, 1) from RDB$DATABASE;

GENERATOR 是 遗留保留字,sql-99支持 sequence 关键字,fb也是支持的。

CREATE { SEQUENCE | GENERATOR } <名字>

DROP { SEQUENCE | GENERATOR } <名字>

SET GENERATOR <名字> TO <起始值> 这个好象不符合SQL语法的精神,下面的alter才是标准的语感

ALTER SEQUENCE <名字> RESTART WITH <起始值>

GEN_ID (<名字>, <增长值>)

NEXT value FOR <名字>

NEXT value FOR 语法也是标准SQL语法,可以用的序列生成器上:

INSERT INTO EMPLOYEE (ID, NAME)

valueS (NEXT value FOR S_EMPLOYEE, ‘John Smith‘);

3、内建了IIF函数,IIF (<search_condition>, <value1>, <value2>),作为case的快捷方式。

4、ROWS 语法,特别适合分页使用

SELECT ...

[ORDER BY <expr_list>]

ROWS <expr1> [TO <expr2>]

还有类似的语法,与上述ROWS类似的语句是:

FIRST (<expr2>-<expr1>+1) SKIP (<expr1> - 1)

5、EXECUTE BLOCK 语句

这个语句相当于动态建立与执行一个存储过程。或者说动态执行一个类似于存储过程的语句块。

SQL语言的扩展语句 EXECUTE BLOCK 使得在 SELECT 语句规范中可以使用"动态 PSQL"。它有这样的效果,如果是存储过程中的话,将允许一个PSQL自包含代码动态SQL语句中执行。

语法格式:

EXECUTE BLOCK [ (param datatype = ?, param datatype = ?, ...) ]

[ RETURNS (param datatype, param datatype, ...) }

AS

[DECLARE VARIABLE var datatype; ...]

BEGIN

...

END

例如:

EXECUTE BLOCK (X INTEGER = :X)

RETURNS (Y VARCHAR)

AS

DECLARE V INTEGER;

BEGIN

INSERT INTO T(...) valueS (... :X ...);

SELECT ... FROM T INTO :Y;

SUSPEND;

END

6、COMMENT 语句

COMMENT 语句,用来设置元数据描述,这个非常有意思。

语法格式:

COMMENT ON DATABASE IS {‘txt‘|NULL};

COMMENT ON <basic_type> name IS {‘txt‘|NULL};

COMMENT ON COLUMN tblviewname.fieldname IS {‘文字内容‘|NULL};

COMMENT ON PARAMETER procname.parname IS {‘txt‘|NULL};

7、衍生表

MS MSQL 叫在线视图吧,语法类似于:

select * from (select * from tbl) as a inner join tbl2 b on a.id=b.id

查询结果作为表来使用。

8、FB2.0 发布时的文档吧,这里有个链接!http://www.mesig.com/forum/th-abb-1

时间: 2024-10-10 16:10:05

Firebird数据库相关备忘录的相关文章

Firebird数据库相关操作

Firebird常用SQL 一.分页写法小例: 1 select first 10 templateid,code,name from template ; 2 select first 10 skip 10 templateid,code,name from template ; 3 select * from shop rows 1 to 10; --firebird2.0支持这种写法 二.show 1 show tables; 2  show table tablename; 三. D:\

使用SQLAlchemy对Firebird数据库进行操作

来这个公司已经一周了,度过了开始的无聊日子准备正式准备做点东西了,这几天接触了一下文件数据库InterBase,尝试在Ubuntu上连接其开源版本Firebird,因为公司使用的是SQLAlchemy,所以例子我也就用Python演示了. #安装firebird数据库 sudo apt-get install firebird-super 2,更改firebird中数据库管理员SYSDBA的密码: sudo dpkg-reconfigure firebird2.5-super 3,使用gsec命

MySQL查看数据库相关信息

使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令 1:查看显示所有数据库 mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | INVOICE            | | mysql              | | performance_s

程序员面试笔试宝典学习记录(三)(数据库相关知识)

关系数据库系统与文件数据库系统的区别如下: (a)关系数据库系统的主要特征是数据的结构化,而文件数据库系统是数据的非结构化. (b)关系数据库系统中,用户看到的逻辑结构是二维表,而文件数据库系统中,基本元素是文件. (c)文件数据库系统可以实现多媒体文件管理,支持C/S工作模式. acid,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(atomicity),一致性(consistency),隔离性(isolation),持久性(durability). 数据查询:select sele

数据库相关中间件介绍

数据库相关中间件介绍 详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt412 这里主要介绍互联网行业内有关数据库的相关中间件.数据库相关平台主要解决以下三个方面的问题: 为海量前台数据提供高性能.大容量.高可用性的访问 为数据变更的消费提供准实时的保障 高效的异地数据同步 应用层通过分表分库中间件访问数据库,包括读操作(Select)和写操作(update, insert和delete等,DDL, DCL).写操作会在数据

Atitit &#160;基于meta的orm,提升加速数据库相关应用的开发

Atitit  基于meta的orm,提升加速数据库相关应用的开发 1.1. Overview概论1 1.2. Function & Feature功能特性1 1.2.1. meta api2 1.2.2. 动态实体{}2 1.2.3. 使用sql.linq作为数据操作标准化dsl3 1.2.4. Js版本orm接口3 1.1. Overview概论 主要是为了解决这些问题.. 现有的orm方案流行有mybatis,hibernate等..但往往要加很多注解或者配置,比较繁琐.. 既然字段的定义

cakephp v3.4 数据库相关操作

cakephp v3.4 数据库相关操作 查询对象 Query Objectclass Cake\ORM\Query 获取Query object表对象 Table Object 使用find()返回 1.任何情况下都可以从TableRegistry中获取use Cake\ORM\TableRegistry;$articles = TableRegistry::get('Articles');$query = $articles->find(); 2.在对应的控制器中(框架自动就创建了)$que

oschina数据库相关

数据库相关 110数据库服务器 233NoSQL数据库 18MySQL衍生版 6开源XML数据库 311数据库管理工具 117数据库调整和优化 274数据库驱动程序 41数据库建模

PB数据库相关

---------------------------------------------------------------- 数据库画板: 一张表定义了主键或者唯一索引,则能够在Results视窗中改动.添加.删除数据. 使用SQL语句创建数据表是最快捷的方式.可是,PB在创建数据表的同一时候,要在系统数据表中加入关于数据表的信息,表和字段的扩展属性都保存在系统表中.所以,直接使用SQL语句创建系统表将使系统表中的信息不完整.使用窗体菜单Design下的Synch Extended Attr