去除sql中的查询字段

使用范围的说明,数据库中存在自增的主键id,可以去除该字段,然后方便对数据库中的自增主键的管理,不会出现主键跳跃的情况避免了下次插入的时候可能会出现 重复的主见的错误信息

pgsql中的使用

SELECT
'SELECT ' || array_to_string(ARRAY(
SELECT 'o' || '.' || c.column_name
       FROM information_schema.columns As c
          WHERE table_name = '表名'  AND  c.column_name NOT IN('排除字段', '排除字段')), ',') || ' FROM 表名 As o' As sqlstmt

eg:
SELECT
'SELECT ' || array_to_string(ARRAY(
SELECT 'o' || '.' || c.column_name
       FROM information_schema.columns As c
          WHERE table_name = 'prm_prom_bill'  AND  c.column_name NOT IN('id', 'create_user')), ',') || ' FROM prm_prom_bill As o' As sqlstmt

 

 

 去除sql中的查询字段_第1张图片

 查询出来的内容为 输出的sql 已经去除掉除外的字段,例子中输入的是 id和create_user字段

下面的这个应该是mysql的,我没有测试,有需求的可以自测

declare @field nvarchar(1000)
select @field=isnull(@field+',','')+quotename(Name) from syscolumns where ID=object_id('表名') and Name not in('排除1','排除2') 
exec('select '+@field+' from 表名')

 

你可能感兴趣的:(sql,Study,mysql)