You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.4 KiB
90 lines
2.4 KiB
|
6 years ago
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||
|
|
|
||
|
|
<mapper namespace="io.renren.dao.SQLServerGeneratorDao">
|
||
|
|
<select id="queryList" resultType="map">
|
||
|
|
select * from
|
||
|
|
(
|
||
|
|
select cast(so.name as varchar(500)) as tableName, cast(sep.value as varchar(500)) as tableComment, getDate() as createTime
|
||
|
|
from sysobjects so
|
||
|
|
left JOIN sys.extended_properties sep
|
||
|
|
on sep.major_id=so.id and sep.minor_id=0
|
||
|
|
where (xtype='U' or xtype='v')
|
||
|
|
) t where 1=1
|
||
|
|
<if test="tableName != null and tableName.trim() != ''">
|
||
|
|
and t.tableName like concat('%', #{tableName}, '%')
|
||
|
|
</if>
|
||
|
|
order by t.tableName
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="queryTable" resultType="map">
|
||
|
|
select * from (
|
||
|
|
select cast(so.name as varchar(500)) as tableName, 'mssql' as engine,cast(sep.value as varchar(500)) as tableComment, getDate() as createTime
|
||
|
|
from sysobjects so
|
||
|
|
left JOIN sys.extended_properties sep on sep.major_id=so.id and sep.minor_id=0
|
||
|
|
where (xtype='U' or xtype='v')
|
||
|
|
) t where t.tableName=#{tableName}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="queryColumns" resultType="map">
|
||
|
|
SELECT
|
||
|
|
cast(
|
||
|
|
b.NAME AS VARCHAR(500)
|
||
|
|
) AS columnName,
|
||
|
|
cast(
|
||
|
|
sys.types.NAME AS VARCHAR(500)
|
||
|
|
) AS dataType,
|
||
|
|
cast(
|
||
|
|
c.VALUE AS VARCHAR(500)
|
||
|
|
) AS columnComment,
|
||
|
|
(
|
||
|
|
SELECT
|
||
|
|
CASE
|
||
|
|
count( 1 )
|
||
|
|
WHEN 1 then 'PRI'
|
||
|
|
ELSE ''
|
||
|
|
END
|
||
|
|
FROM
|
||
|
|
syscolumns,
|
||
|
|
sysobjects,
|
||
|
|
sysindexes,
|
||
|
|
sysindexkeys,
|
||
|
|
systypes
|
||
|
|
WHERE
|
||
|
|
syscolumns.xusertype = systypes.xusertype
|
||
|
|
AND syscolumns.id = object_id(A.NAME)
|
||
|
|
AND sysobjects.xtype = 'PK'
|
||
|
|
AND sysobjects.parent_obj = syscolumns.id
|
||
|
|
AND sysindexes.id = syscolumns.id
|
||
|
|
AND sysobjects.NAME = sysindexes.NAME
|
||
|
|
AND sysindexkeys.id = syscolumns.id
|
||
|
|
AND sysindexkeys.indid = sysindexes.indid
|
||
|
|
AND syscolumns.colid = sysindexkeys.colid
|
||
|
|
AND syscolumns.NAME = B.NAME
|
||
|
|
) as columnKey,
|
||
|
|
'' as extra
|
||
|
|
FROM
|
||
|
|
(
|
||
|
|
select
|
||
|
|
name,
|
||
|
|
object_id
|
||
|
|
from
|
||
|
|
sys.tables
|
||
|
|
UNION all select
|
||
|
|
name,
|
||
|
|
object_id
|
||
|
|
from
|
||
|
|
sys.views
|
||
|
|
) a
|
||
|
|
INNER JOIN sys.COLUMNS b ON
|
||
|
|
b.object_id = a.object_id
|
||
|
|
LEFT JOIN sys.types ON
|
||
|
|
b.user_type_id = sys.types.user_type_id
|
||
|
|
LEFT JOIN sys.extended_properties c ON
|
||
|
|
c.major_id = b.object_id
|
||
|
|
AND c.minor_id = b.column_id
|
||
|
|
WHERE
|
||
|
|
a.NAME = #{tableName}
|
||
|
|
and sys.types.NAME != 'sysname'
|
||
|
|
</select>
|
||
|
|
</mapper>
|