SOQL SELECT ALL FIELD

 

Have you ever wanted to do an SQL SELECT * statement in SOQL? Well here's the workaround. Generally, I would recommend that you only query for data that you need, however I have been using this on my current project where the data model constantly changes.

To use, copy and paste this code into your org and modify the 3 lines with // modify as needed at the end.

     
     
// Initialize setup variables
String objectName = 'Contact'; // modify as needed
String query = 'SELECT';
Map<String, Schema.SObjectField> objectFields = Schema.getGlobalDescribe().get(objectName).getDescribe().fields.getMap();
// Grab the fields from the describe method and append them to the queryString one by one.
for(String s : objectFields.keySet()) {
   query += ' ' + s + ', ';
}
// Manually add related object's fields that are needed.
query += 'Account.Name,'; // modify as needed
// Strip off the last comma if it exists.
if (query.subString(query.Length()-1,query.Length()) == ','){
    query = query.subString(0,query.Length()-1);
}
// Add FROM statement
query += ' FROM ' + objectName;
// Add on a WHERE/ORDER/LIMIT statement as needed
query += ' WHERE firstName = \'test\''; // modify as needed
  
try {
        List<Contact> contacts = database.query(query);
} catch (QueryException e){
        //perform exception handling
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值