⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mssqlcolumninfosql.java

📁 羽量级数据持久层开发框架
💻 JAVA
字号:
// $Id: MSSQLColumnInfoSQL.java $Date: 2007-10-16 上午09:10:20 $ 
// $Id: MSSQLColumnInfoSQL.java $Date: 2007-10-16 上午09:10:20 $ 
package org.speedframework.sql.mssql;

import org.speedframework.sql.AbstractTableInfoSQL;
import org.speedframework.utilities.StringUtils;

/**
 * Class MSSQLColumnInfoSQL
 * 
 * @author <a href="mailto:santafeng@gmail.com"> lizf </a>
 * @version $Revision:1.0.0, $Date: 2007-10-16 上午09:10:20 $
 */
public class MSSQLColumnInfoSQL extends AbstractTableInfoSQL {

	public String getSQL() {
		String tableName = StringUtils.getExcuteTableName(this.tableObject
				.getClass());
		StringBuffer sql = new StringBuffer();
		sql.append(" SELECT ");
		sql
				.append(" (case when a.colorder=1 then d.name else '' end) tablename ,");
		sql.append(" a.colorder ,          ");
		sql.append(" a.name field,                   ");
		sql
				.append(" (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then ");
		sql.append(" 'autoincrement'else '' end) autoincrement,     ");
		sql.append(" (case when (SELECT count(*)        ");
		sql.append(" FROM sysobjects      ");
		sql.append(" WHERE (name in     ");
		sql.append("   (SELECT name    ");
		sql.append(" FROM sysindexes      ");
		sql.append("  WHERE (id = a.id) AND (indid in     ");
		sql.append("    (SELECT indid    ");
		sql.append("   FROM sysindexkeys    ");
		sql.append("   WHERE (id = a.id) AND (colid in   ");
		sql.append("  (SELECT colid   ");
		sql.append("   FROM syscolumns   ");
		sql.append("  WHERE (id = a.id) AND (name = a.name))))))) AND  ");
		sql.append("  (xtype = 'PK'))>0 then 'pk' else '' end) pk,     ");
		sql.append(" 	b.name  data_type,  ");
		sql.append(" 	a.length ,   ");
		sql.append(" 	COLUMNPROPERTY(a.id,a.name,'PRECISION') long  ");
		sql.append(" FROM  syscolumns  a left join systypes b  ");
		sql.append(" on  a.xtype=b.xusertype   ");
		sql.append(" inner join sysobjects d    ");
		sql
				.append(" on a.id=d.id  and  d.xtype='U' and  d.name<>'dtproperties'  ");
		sql.append(" left join syscomments e   ");
		sql.append(" on a.cdefault=e.id   ");
		sql.append(" left join sysproperties g  ");
		sql.append(" on a.id=g.id AND a.colid = g.smallid     ");
		sql.append(" where d.name='" + tableName + "' ");
		sql.append(" order by a.id,a.colorder ");
		return sql.toString();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -