Lua中只读表和只允许修改表

Lua中的table表非常灵活强大,可以随时加入和修改,但有时在多人协作和

一些项目中有些凌乱,我们可以利用元表的性质来保护我们的一些表格。

1.Lua中的只读表

 function ReadOnlyTable (t)
  local proxy = {}
  local mt = {
   __index = t,
   __newindex = function (t,k,v)
    error("attempt to update a read-only talbe",2)
   end
  }
  setmetatable(proxy,mt)
  return proxy

2.只允许查改操作的表

 1  local function ReadUpdateOnly (t)
 2    local proxy = t or {}
 3    local mt = {
 4     __newindex = function (t,k,v)
 5        error("只能初始化时对该表定义",2)
 6     end
 7    }
 8    setmetatable(proxy,mt)
 9    return proxy
10  end
时间: 2024-10-24 07:40:02

Lua中只读表和只允许修改表的相关文章

db2 中 SQL判断物理表是否存在、修改表名

1.db2 中 SQL判断物理表是否存在 SELECT * FROM SYSIBM.SYSTABLES WHERE TID <> 0 AND Name = 'TABLE_NAME' AND Creator  = 'DB2INST1' ; 2.修改表名: RENAME TABLE  原表名 TO 修改后表名 ;

oracle--查看表空间大小以及修改表空间大小

  一.修改表空间大小 解决以上问题的办法:通过增大表空间即可解决,如下: Sql代码   使用dba用户登陆 sqlplus  / as  sysdba; 执行如下命令: SQL > ALTER TABLESPACE SYSTEM ADD DATAFILE '/u01/app/oracle/oradata/test/system02.dbf' SIZE 20480M AUTOEXTEND OFF; 注意:其中'/u01/app/oracle/oradata/test/system02.dbf'

控制表单控件-修改表单的提交方法

代码: —————————————————————————— <script type="text/javascript">            //修改表单的提交方法            function modifyMethod(){                var f = document.forms[0];            //获取表单DOM                var method = f.myMethod.value;    //选择的

oracle 增加修改删除表字段,添加修改表、以及表中字段的备注

添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],-.); 删除字段的语法:alter table tablename drop (column); 添加.修改.删除多列的话,用逗号隔开. 举例: 使用al

Oracle-left join两表关联只取B表匹配到的第一条记录

背景:  A表.B表两表关联,关联出来的结果里B表有不止一条,需求是只要B表结果中的某一条(按某字段排序) 经过百度,发现 row_number() over(partition by a order by b desc)函数可用(需要说明下,order by 必须有缺少会报错),以下是数据环境及结果. 创建数据环境 create table A(ANAME varchar(20)); insert into A values('alan'); insert into A values('Ale

Mysql DBA 高级运维学习笔记-DML之修改表中的数据实战

9.10 修改表中的数据 9.10.1 修改表中指定条件固定列的数据 1.命令语法:update 表名 set 字段=新值,-.where 条件(一定要注意条件) 2.修改指定的行字段的内容 a.查看要修改的表 [email protected] 02:3907->select * from test; +----+-----------+ | id | name | +----+-----------+ | 1 | wwnwan| | 2 | zbf | | 3 | lisi | | 4 |

mysql中的alter子句修改表和表字段信息

MySQL中提供了alter子句用于修改表和表字段信息. 修改表信息 使用alter子句修改表信息主要有两个用途. 修改表名 alter table yanggb rename to yanggb1; 修改表注释 alter table yanggb comment 'yanggb is 666'; 修改字段信息 使用alter子句修改表中的字段信息的用途就多了. 修改字段类型和注释 alter table yanggb modify column yanggb1 varchar(200) co

SQL基础:数据表的查看及修改

1. 查看表基本结构 可简写 DESC 表名: Null:是否可用存储Null值 Key:该列是否已编制索引.PRI表示该列是表主键的一部分:UNI表示该列是UNIQUE索引的一部分:MUL表示在列中某个给定值允许出现多次 Default:该列是否有默认值,为多少 Extra:获取与给定列有关的附件信息,如:属性值自增 2. 查看表详细结构 ------------------------------------------------- 1.修改表名 alter table (旧表名) ren

DDL语句--修改表

修改表是指修改数据库中已经存在的表的定义.修改表比重新定义表简单,不需要重新加载数据,也不会影响正在进行的服务. MySQL中通过ALTER TABLE语句来修改表,修改表包括修改表名,修改字段数据类型,修改字段名,增加字段,删除字段,修改字段的排列位置,更改默认存储引擎和删除表的外键约束等. OK,这篇博客会详细的整理到上面的几种修改表的方式.现在我们开始. 1,修改表名 表名可以在一个数据库中唯一的确定一张表.数据库系统通过表名来区分不同的表.注意的是,数据库中的表是唯一的,数据库中不可能存