I'm having troubles getting a procedure to work in Oracle.

I'm creating a procedure that deletes records from multiple tables and the tables that need to be effected are declared by a passed variable in the procedure. The problem is I can't find the right syntax.

I'd like to create a local function which contains an SQL command that can be called in the procedure at any time.

To put it into context, I've got a news system. The news system works off the tables categories, news_items & news_items_links. The categories table has a parent_id tag so a category tree can be created. Now, the procedure will pick up the parent category ID and remove all children categories, all news articles and attached links. I want to create a local function that deletes all categories as I will be wanting to use the same command to delete categories for other systems.

Does that make sense? Can anyone help on the syntax? I can't find any resources for assistance.