
-- sql server我就知道,其他没用过。
-- tableName表名,sqlName列名,defaultVal就是默认值,字符串表示
SELECT
acolorder as colOrder,
dname as tableName,
aname as sqlName,
convert(int,case when COLUMNPROPERTY( aid,aname,'IsIdentity')=1 then 1 else 0 end) as isIndex,
convert(int,case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=aid and name in (
SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = aid AND colid=acolid))) then 1 else 0 end) as isPk,
bname as sqlTypeName,
alength as 'length',
convert(int,COLUMNPROPERTY(aid,aname,'PRECISION')) as 'size',
convert(int,isnull(COLUMNPROPERTY(aid,aname,'Scale'),0)) as 'scale',
convert(int,case when aisnullable=1 then 1 else 0 end) as 'nullable',
convert(varchar(100), isnull(etext,'')) as defaultVal,
convert(varchar(255), isnull(g[value],'')) as remarks
FROM
syscolumns a
left join
systypes b
on
axusertype=bxusertype
inner join
sysobjects d
on
aid=did and dxtype='U' and dname<>'dtproperties'
left join
syscomments e
on
acdefault=eid
left join
sysextended_properties g
on
aid=Gmajor_id and acolid=gminor_id
left join
sysextended_properties f
on
did=fmajor_id and fminor_id=0
where 1=1
-- dname=
order by
aid,acolorder
Connection conn = DriverManagergetConnection(); //其他方式获取连接也可
Statement stmt = conncreateStatement();
String sql = "select 字段名(你的叫User吧) from 表名 where 查询条件"; //若要插入Admin记录,只需改select语句为insert语句
ResultSet rs = stmtexecuteQuery(sql); //获取结果集
if(rs != null) //结果集不为空,即有符合查询条件的数据返回
{
while(rsnext()) //获取下一条记录,初始是第一条记录的前一个位置
{
//处理数据,可以判断是否有Admin这个User
String user = rsgetString("User");
if(userequals("Admin"))
{
//存在Admin,自定义需要如何处理
}
}
}
select from user_tab_columns ut where uttable_name='表名' AND utDATA_TYPE = 'NUMBER';
以emp表为例:
select from user_tab_columns ut where uttable_name='EMP' AND utDATA_TYPE = 'NUMBER'
以上就是关于如何从数据库查询各表中所有存在默认值的字段全部的内容,包括:如何从数据库查询各表中所有存在默认值的字段、mysql 查看数据库中的表、Oracle表中有各种类型数据,如何用sql语句查询类型为Number的所有字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)