Informix SQL – 列出所有字段和表
Informix iSQL有一个命令“info tables;”显示所有表.
用于查看字段及其各自数据类型的语法是“表的信息列”; 是否有类似的命令显示所有表和所有字段的table.field? 解决方法使用首选JOIN符号:SELECT TRIM(t.tabname) || '.' || TRIM(c.colname) AS table_dot_column FROM "informix".systables AS t JOIN "informix".syscolumns AS c ON t.tabid = c.tabid WHERE t.tabtype = 'T' AND t.tabid >= 100 ORDER BY t.tabname,c.colno; 或者老式的join-in-where-clause符号: SELECT TRIM(t.tabname) || '.' || TRIM(c.colname) AS table_dot_column FROM "informix".systables AS t,"informix".syscolumns AS c WHERE t.tabid = c.tabid AND t.tabtype = 'T' AND t.tabid >= 100 ORDER BY t.tabname,c.colno; 假设您正在使用最新版本的IDS,则可以按列表中未列出的列进行排序.如果您收到投诉,请将订购列添加到选择列表. 加入标准是明显的; tabtype =’T’仅列出表中列出的视图,同义词和其他类似项目; tabid> = 100只列出了数据库中明确创建的表,而不是系统目录. 这不包括类型信息 – 如果你想要,你必须做更多的工作.您将找到一个文件$INFORMIXDIR / etc / xpg4_is.sql,其中包含旧版本的XPG4(X / Open标准)信息模式(因此是文件名)的粗略近似值.在那里,还有功能等来将类型信息从syscolumns.coltype和syscolumns.collength解码为可识别的字符串.但是,我强烈怀疑它不处理DISTINCT类型,也不处理其他用户定义的类型.我很高兴被证明是错误的,但是…如果您将该文件的相关部分添加到数据库中,那么您也可以获取类型信息. 另请注意,ISQL和DB-Access中的所有INFO命令都在前端进行仿真,不会在IDS服务器中执行.基本上,程序接受请求并将其转换成更复杂的SQL语句.请参阅SQLCMD(可从IIUG Software Archive获取)的一部分sqlinfo.ec文件中的代码,了解我的SQLCMD程序如何处理INFO语句. (注意:SQLCMD的INFO输出格式与ISQL和DB-Access的INFO输出格式不同.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQLServer2005 没有服务器名称的两种解决方法
- 多年困扰我的一个技术问题,希望这方面的专家指点一下,有关
- sql-server – 将表移动到另一个SQL2008数据库(包括索引,触
- MySQL数据库下用户及用户权限配置
- sql-server – 如何将Null日期变量传递给SQL Server数据库
- sql-server – SQL Server PIVOT – 多个聚合
- sql – 如何按顺序将两个表连接在一起,行数相同
- sqlserver与java数据类型对应
- sql-server – 如何使用过程保存byte []?
- SqlServer 服务器CPU升高因为用户未注销引起的explorer.exe