首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

mysql declare 语法_sql_declare等语法 | 学步园

===sqlserver:—sql declare –简单赋值 declare @a int set @a=5 select @a –使用select语句赋值 declare @user1 nvarchar...(50) select @user1=’张三’ select @user1 declare @user2 nvarchar(50) select @user2 = Name from ST_User where...ID=1 select @user2 —表变量 declare @t table ( id int not null, msg nvarchar(50) null ) insert into @t values...语句后面要加分号… —mysql DECLARE: 1.在外部不需定义,可直接引用@n.如: SET @a=1; SELECT @a; 2.在存储过程内部定义时不带@符号,如declare n int;...3.如果mysql直接在查询器中执行DECLARE @n INT;是会报错的,一个是因为不需要带@符号,另一个是declare语句不能直接在外部使用,可以放在存储过程中使用 —mysql数据库锁定机制

3.5K20

Postgres 源码学习 2—Postgres 的 VFD 机制

操作系统中的文件 数据库的本质其实就是用来存储数据的,所以免不了和文件系统、存储进行交互,万丈高楼平地起,存储一般是一个数据库的最底层,Postgres 在存储的文件管理方面也有很多的设计与抽象。...在操作系统层面,提供了一些文件操作相关的系统调用(fopen、fclose、fsync 等),我们作为上层使用者,可以直接通过 C 语言库进行调用即可(Postgres 使用 C 语言编写)。...Postgres 的 VFD 作用 Postgres 数据库在运行的过程当中,可能会打开非常多的文件,比如数据表对应的文件,元数据表文件,以及一些在 SQL 运行时打开的临时文件,例如排序、哈希表所需的文件...VFD 的基本工作方式 Postgres 主要通过一个进程私有的数组来维护 VFD,名为 VfdCache。...通过这种方式,Postgres 可以打开远超过系统和进程限制的文件数量,是一个非常精妙的设计。

8410

Postgres 源码学习 3—Postgres 存储管理器

前面一节说到,在 Postgres 的 VFD 机制之上,我们可以避开打开文件数量的系统限制,通过 VFD 可以进行打开、读写、关闭、删除文件等操作,简单来说就是 VFD 为我们提供了一个抽象,屏蔽了操作系统文件描述符的接口...文件类型和文件块 要了解 Postgres 的存储管理,需要先对 Postgres 的表文件的组织方式、类型有一个简单的了解。...Postgres 中的表文件可能会非常大,在物理存储上会将表文件拆分为多个,每一个表文件通过 segno 来区分。...在 Postgres 的数据目录中,表文件的存储格式为 base//。...但是目前在操作系统层面,已经提供了文件系统的抽象,所以存储管理器其实已经没有存在的必要了,但是 Postgres 依然选择将其保留,主要是认为这层抽象并没有什么其他的影响。

8210
领券