如何从数据库查询各表中所有存在默认值的字段

如何从数据库查询各表中所有存在默认值的字段,第1张

-- 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的所有字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10119354.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存