Как динамически собрать UPDATE для указания таблицы? - PullRequest
0 голосов
/ 22 мая 2019

Я создаю хранимую процедуру для автоматической подготовки кода компонента C # для переноса данных.Подробнее об этом решении вы можете найти здесь Как выполнить хранимую процедуру для ODBC Snowflake Destinastion? .

Проблема В том, что у меня нет идеи построить оператор обновления на основе таблицыкоторый будет определен как ввод для выполнения хранимой процедуры.

Я пытался динамически построить SQL для подготовки UPDATE.

CREATE PROCEDURE os_ssis_update_component
@table varchar(100)

AS

SELECT COLUMN_NAME, IS_NULLABLE, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH into 
#kolumny from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=@table or 
TABLE_NAME=UPPER(@table)

select
'using System;
 using System.Data... bla bla bla

Теперь я должен создать обновление для указанной таблицы.

UPDATE'+' '+@table+' '+'SET IMIE= ?,NAZWISKO= ? ,NUMER_TELEFONU= ? ,EMAIL= 
? ,ULICA= ? ,MIASTO= ? ,STATE= ? ,ZIP_CODE = ? WHERE CUSTOMER_ID= ?

Вопрос в том, как построить это обновление для имени столбцов (это IMIE, NAZWISKO, NUMER_TELEFONU, EMAIL и т. Д.), Которые я найду в таблице, которая будет помещена в качестве ввода.исполнения.

Я немного пробовал использовать функцию pivot и сохранить ее в #table, но мне не нужна никакая агрегатная функция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...