2011-03-23 89 views

Respuesta

7

aclaración pendiente de la pregunta - echar un vistazo a the delete DML operation. Esto le permitirá eliminar uno o más registros sObject existentes, incluidos objetos personalizados, de Apex.

Es posible que deba comprobar que el objeto que está intentando eliminar tiene la propiedad de eliminación.


Si usted tiene un objeto personalizado Foo__c (nótese el sufijo "__c" que indica que es un sObject personalizado) a continuación, puede borrar todos los registros desde el vértice de la siguiente manera:

List<Foo__c> existing = [SELECT Id From Foo__c]; 
delete existing; 
0

Sí, puede borrar todos los registros de su encargo objetos guión:

"your_object_name"[] my=[select Id from "your_object_name"]; 
for("your_object_name" here: my) 
{ 
     delete here; 
} 
1

en lugar de eliminar el objeto a la vez (que puede golpear límites Governer) puede eliminar todos los objetos consultados a la vez:

"your_object_name"[] my=[select Id from "your_object_name"]; 
delete "your_object_name"; 
2

sólo tiene que utilizar esta Línea ...

delete [select id from "Ur Obj Name"]; 

ejecutarlo en la consola de desarrollo .....

-1

La solución propuesta para eliminar el interior de un bucle no funcionará dado el 150 DML llama límites por transacción.

TAMBIÉN

Recuerde que si la tabla contiene más de 50.000 registros de la consulta fallará. Por lo tanto, es posible que desee almacenar los registros en un mapa mientras itera un bucle SOQL FOR. luego, fuera del ciclo, puede llamar eliminar en los valores del mapa.

-1

Account account = [SELECT Id From Account where Id = :id]; delete account;

+1

Bienvenido al desbordamiento de pila, quizás podría agregar alguna descripción al código anterior. Es más probable que las respuestas más completas sean útiles para otros en el futuro. http://stackoverflow.com/help/how-to-answer – Mack

Cuestiones relacionadas