Hi Eric, "Eric Schulte" wrote: > Sébastien Vauban <wxhgmqzgw...@spammotel.com> writes: > > Babel's sql support did not have any variable handling. I just copied over > the variable support from ob-sqlite to ob-sql, so the following should now > work (notice: my code block is different from yours) > > ** sql variables > #+results: sql-param > | table | valueTable0 | > | column | valueColumn0 | > | type | valueType0 | > | nullability | valueNullability0 | > > I want to apply the values onto the following chunk of code: > > #+srcname: add-column-in-table-0 > #+begin_src sql :var table=sql-param[0,1] :var column=sql-param[1,1] :var > type=sql-param[2,1] :var nullability=sql-param[3,1] > -- add column `...@column' (if column does not exist yet) > IF NOT EXISTS (SELECT * > FROM INFORMATION_SCHEMA.COLUMNS > WHERE TABLE_NAME = '@table' > AND COLUMN_NAME = '@column') > BEGIN > ALTER TABLE $table > ADD $column $type @nullability > END > #+end_src > > results in the following code block expansion (C-c C-v v) > #+begin_src sql > -- add column `...@column' (if column does not exist yet) > IF NOT EXISTS (SELECT * > FROM INFORMATION_SCHEMA.COLUMNS > WHERE TABLE_NAME = '@table' > AND COLUMN_NAME = '@column') > BEGIN > ALTER TABLE valueTable0 > ADD valueColumn0 valueType0 @nullability > END > #+end_src
For your information, this was the intended code snippet: #+srcname: add-column-in-table-0 #+begin_src sql :var table=sql-param[0,1] :var column=sql-param[1,1] :var type=sql-param[2,1] :var nullability=sql-param[3,1] :tangle yes -- add column `$column' (if column does not exist yet) IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '$table' AND COLUMN_NAME = '$column') BEGIN ALTER TABLE $table ADD $column $type $nullability END #+end_src (I thought this feature would be implemented using "real" SQL vars, hence my @ prefix. But viewing the code shows the replacement is made outside of the SQL snippet's knowledge.) Tested. Works as expected... Thanks a lot! Maybe the following should be put on some TODO list, even if not urgent? >> * No warning if block does not exist >> >> Please note that inexistent references are ignored, without further notice. >> That's the case for such a block (where I forgot the number suffix): >> >> #+srcname: contains-inexistent-ref >> #+begin_src sql :noweb yes >> <<add-column-in-table>> >> #+end_src Thanks. Best regards, Seb -- Sébastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode