IN Between Data after matching the Pattern

HI ,
I WANT TO RETRIVE IN BETWEEN DATA FROM PARENTHESIS AND I AM GETTING ERRORS WHILE RUN THE AWK.I HAVE 2 FILES AND WANT TO PROCESS 1ST FILE PATTERN TO 2ND FILE AND WRITES INTO OUTPUT FILE.THIS TIME I AM PUTTING WHERE EXACTLY I AM GETTING ERRORS.SO PLEASE HELP.

PATTERN_FILE.TXT
--------------
ABCD
PQRS
XYZ

INPUT FILE.TXT
----------------

CRAETE TABLE ABCD
(
A,
B,
C
);
CREATE TABLE PQRS
(
P,
R
);

SO HERE IN CASE 1ST PATTERN(ABCD) READS AND LOOK INTO INPUT FILE.TXT AND IF FINDS THE MATCH IT SHOULD GET THE DATA BETWEEN PARENTHESIS

A,
B,
C

NEXT PATTERN (PQRS) AND IT MATCHES AND GETS THE RESULT

P,
R

NEXT XYZ COMES AND NO MATCH SO NOTHING RETURNED.
I WANT TO READ THIS THROUGH LOOP SO AS ONCE 1ST FILE WRITE INTO OUTPUT FILE I WILL DO SOME MODIFICATION BEFORE SEARCH THE NEXT PATTERN.

MY CODE
-------

for i in `cat pattern_file.txt`
do
awk '/'{print "$i"}'/{flag=1;next}/);/{flag=0}flag' INPUT_FILE.txt > output.txt
cat output.txt >> output_1.txt
echo "@@@@@@@@" >> output_1.txt
done

"for I in `cat file`" is a dangerous use of backticks. It does not do what you think it does. Do

while read LINE
do
...
done < inputfile

instead.

There's better ways to get variables into awk, such as awk -v VAR="value" or awk 'expression' VAR=value FILENAME , no need to embed it in the expression.

So:

while read PAT
do
        awk -v PAT="$PAT" 'PAT ~ $0 { P=1 } P ; /\);/ { P=0 }' inputfile
        echo "@@@@@@@@"
done < pattern_file.txt > output.txt