2017-08-14 3 views

Répondre

1

Vous pouvez utiliser la forme fonctionnelle de delete (voir here):

/ create some tables 
q)`a_one`a_two`b_one`b_two set\:([] x:til 10) 
    `a_one`a_two`b_one`b_two 
q)tables[] 
    `s#`a_one`a_two`b_one`b_two 

/find table names matching "a_*" and delete them from root namespace 
q)![`.;();0b;{x where x like "a_*"} tables[]] 
    `. 
q)tables[] 
    `s#`b_one`b_two 
1

Si vous avez besoin de cette fonctionnalité souvent, je vous suggère de définir une fonction drop comme suit:

q)drop:![`.;();0b;](), 

Cette fonction prendra un ou plusieurs noms de tables sous forme de symboles et les supprimera. Combiné avec une fonction de sélection, il peut être utilisé pour supprimer par modèle

q)drop{x where x like"prefix_*_suffix"}tables[] 

Vous pouvez également définir une fonction drop_matching

q)drop_matching:drop{a where(a:tables[])like x}@ 

qui fera le travail d'un seul:

q)drop_matching"prefix_*_suffix"