Because of the constraints with the size VARCHAR and the number of elements allowed in a WHERE IN clause, I need to create a temp_table that I insert ids into and then within my stored procedure select from that temp_table. Currently, my stored procedure sends in an associative array of the ids, inserts the ids into a global temp table and then SELECT * FROM prod_table WHERE prod_ids IN (SELECT prod_ids FROM temp_table). I guess my question is, if I create the temp_table from within my application, will the select from the stored procedure still work? Will it still be the same "session" or whatever as long as I use the same connection? How do I create a temp table from within my C# application? Unfortunately, I have to get rid of the associate array because of an Oracle bug.