Hi Eric and Dan,

I'm not sure whether what I'm searching for does already exist (or will ever)
-- that's why I'm asking.

I have to create multiple times a new column in a DB. Being LP-minded, I wanna
describe the code, tangle it, and be able to execute it at the client side.

Here my generic code for create a new column:

--8<---------------cut here---------------start------------->8---
#+srcname: add-column-in-table.sql(pTable,pColumn,pDatatype,pAcceptnullvalues)
    #+begin_src sql
        -- add column `pfiDossierSentToSecteur' (if column does not exist yet)
        IF NOT EXISTS (SELECT *
                       FROM INFORMATION_SCHEMA.COLUMNS
                       WHERE TABLE_NAME = 'pTable'
                       AND COLUMN_NAME = 'pColumn)
        BEGIN
            ALTER TABLE pTable
            ADD pColumn pDatatype pAcceptnullvalues
        END
        GO
    #+end_src
--8<---------------cut here---------------end--------------->8---

Is there a way to tangle it with some string replacements being made, such as:

| pTable            | dossier |
| pColumn           | pfiNew  |
| pDatatype         | string  |
| pAcceptnullvalues | NULL    |

I've tried the following, with no success:

--8<---------------cut here---------------start------------->8---
#+srcname: 
add-column-in-table(pTable=dossier,pColumn=pfiNew,pDatatype=string,pAcceptnullvalues=NULL)
    #+begin_src sql :tangle dossier.sql
        -- add column `pfiDossierSentToSecteur' (if column does not exist yet)
        IF NOT EXISTS (SELECT *
                       FROM INFORMATION_SCHEMA.COLUMNS
                       WHERE TABLE_NAME = 'pTable'
                       AND COLUMN_NAME = 'pColumn)
        BEGIN
            ALTER TABLE pTable
            ADD pColumn pDatatype pAcceptnullvalues
        END
        GO
    #+end_src
--8<---------------cut here---------------end--------------->8---

Is such a feature supported, or another way to come down to the same result?

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

Reply via email to