How to pass parameters to delete statement? While executing this PL/SQL block:    

CREATE OR REPLACE PROCEDURE procAuth_Title_Delete (auth_ID NUMBER,
                                        title_Nos IN NUMBER)    
IS  
BEGIN  
DELETE FROM AUTHOR_TITLE where author_id='||auth_ID||' and title_number='||title_Nos||';  
dbms_output.Put_line ( 'all records have been deleted with the values auth_ID: '||auth_ID||' and title_Nos: '||title_Nos||'.' );  
END;  
/  
EXECUTE procAuth_Title_Delete ( 1234,1 );  


I got the error as 

ORA-01722: invalid number


I know that there is something wrong in the 'where' clause of delete statement. How to let the delete statement substitute those parameters '(1234,1)' in place of 'auth_ID' and 'title_Nos'?
You can't concatenate variables like that in a SQL statement and there is no need to do it anyway:

CREATE OR REPLACE PROCEDURE procAuth_Title_Delete (auth_ID NUMBER,
                                        title_Nos IN NUMBER)    
IS  
BEGIN  
  DELETE FROM AUTHOR_TITLE 
    where author_id = auth_ID  --&lt;&lt; just use the parameter
      and title_number = title_Nos;

  dbms_output.Put_line ( 'all records have been deleted with the values auth_ID: '||auth_ID||' and title_Nos: '||title_Nos||'.' );  
END;  
/