• Jeff Moden (11/1/2010)Heh... there're a couple of dozen people on this site alone who are capable of pulling off huge multi-row inserts from a GUI via a stored procedure. If you'd care to throw some $$$ in their direction, I imagine they'd be happy to write the code for you.

    So far as the rest of it goes, I understand that your goal is very well intentioned and making it so developers don't actually need to think about such drudgery as writing insert code. But that's not a real change because a lot of them don't think of it as it is. Your product is an improvement for them because you've perpetuated the notion that a developer doesn't actually have to think about the harm they may be causing to the database, the underlying server, or even the "pipe". You've also given them something to blame because you've also removed the responsibility.

    What would really be cool is if a product like this actually did something better than a developer... like figuring out the proper way to insert groups of rows. My apologies for how blunt that sounds but it would nice.

    Thank you. RAP seems to have a procedural programmer's approach to a database currently. A database is treated as just a fancy version of storing things in a series of individual files on the web server. An insert of a group of rows is a single insert and should be treated as such to take advantage of the atomicity of transactions. Otherwise you need to recreate transactions in the app layer, which will simply never be as good. If for no other reason, that you could spend minutes inserting your rows before you get a failure 8500 records in, and by the time you go to delete all those rows someone has already reported on the data that was sitting in the database in a committed status. Heck, someone might have already done something to the data creating a FK to it, making it impossible to back out when you realize you need to.

    Perhaps RAP could accept a large xml string, and insert into tables in a set based way from that. I don't know how well that can be automated though. It's a fairly easy technique for passing in sets of data from a GUI as a set, even parent-child relationships.