创建插入的脚本 SQL
Script to create an insert SQL
我正在尝试创建一个连接各种值的脚本,最后创建一个插入脚本,我已经做了一个。
INSERT INTO #SCRPTS
SELECT getdate(),
'INSERT WKF_TpProcesso VALUES (''' + Des_TpProcesso + ''',' + cast(Cod_Func as Varchar(8)) + ',getdate() ,null ,1 ,' + CASE WHEN Id_Sistema IS NULL THEN 'Null' ELSE CAST(Id_Sistema as Varchar(6)) END
+',0,1,0,'+ CASE WHEN Des_CodigoTpProcesso IS NULL THEN 'Null' ELSE '''' + Des_CodigoTpProcesso END +''''+ ','+CAST(Flg_ProxProcesso as Varchar(1))''')'
FROM WKF_TpProcesso
WHERE Des_CodigoTpProcesso = @Des_CodigoTpProcesso
结果是这样的:
INSERT WKF_TpProcesso VALUES ('Processo Teste',41815,getdate() ,null ,1 ,169,0,1,0, 'PcTestPlus',1)
我正在做另一个,但不知道为什么不起作用。
WHILE (exists (select Id_EtapaCampoGen from WKF_EtapaCampoGen Where Id_Etapa = @Id_Etapa ))
INSERT INTO #SCRPTS
SELECT getdate(),
'INSERT WKF_EtapaCampoGen VALUES
(@Id_Etapa' +
','+ ''''+ Des_Label + '''' +
','+ ''''+ Vl_Identificador + '''' +
','+ cast(Flg_Obrigatorio as Varchar(2)) +
',getdate(),'+
',' + CASE WHEN DT_Alteracao IS NULL OR DT_Alteracao = '' THEN 'NULL' ELSE '''' +
',' + cast(FLG_Situacao as Varchar(2))+
',' + '''' + Tipo + '''' +
',' + '''' + Query + '''' +')'
FROM WKF_EtapaCampoGen
我有错误 "Incorrect sintax near FROM",但我看不出哪里出了问题,有人知道吗?
有趣的是,例如,此列中的 Des_Label 是脚本,DB 找到它来自哪里的引用,但是如果我在 from 语句中有错误,它如何找到?
在 stament 的情况下缺少 END,最后脚本返回了这个。
INSERT WKF_EtapaCampoGen VALUES
(@Id_Etapa,'Areas','CampoComplementar1',0,getdate(),NULL,1,'Lista','select Des_area as Texto, Des_area as valor from wkf_area')
您的 case 表达式需要 END
CASE WHEN DT_Alteracao IS NULL OR DT_Alteracao = '' THEN 'NULL' ELSE '''''' END
我正在尝试创建一个连接各种值的脚本,最后创建一个插入脚本,我已经做了一个。
INSERT INTO #SCRPTS
SELECT getdate(),
'INSERT WKF_TpProcesso VALUES (''' + Des_TpProcesso + ''',' + cast(Cod_Func as Varchar(8)) + ',getdate() ,null ,1 ,' + CASE WHEN Id_Sistema IS NULL THEN 'Null' ELSE CAST(Id_Sistema as Varchar(6)) END
+',0,1,0,'+ CASE WHEN Des_CodigoTpProcesso IS NULL THEN 'Null' ELSE '''' + Des_CodigoTpProcesso END +''''+ ','+CAST(Flg_ProxProcesso as Varchar(1))''')'
FROM WKF_TpProcesso
WHERE Des_CodigoTpProcesso = @Des_CodigoTpProcesso
结果是这样的:
INSERT WKF_TpProcesso VALUES ('Processo Teste',41815,getdate() ,null ,1 ,169,0,1,0, 'PcTestPlus',1)
我正在做另一个,但不知道为什么不起作用。
WHILE (exists (select Id_EtapaCampoGen from WKF_EtapaCampoGen Where Id_Etapa = @Id_Etapa ))
INSERT INTO #SCRPTS
SELECT getdate(),
'INSERT WKF_EtapaCampoGen VALUES
(@Id_Etapa' +
','+ ''''+ Des_Label + '''' +
','+ ''''+ Vl_Identificador + '''' +
','+ cast(Flg_Obrigatorio as Varchar(2)) +
',getdate(),'+
',' + CASE WHEN DT_Alteracao IS NULL OR DT_Alteracao = '' THEN 'NULL' ELSE '''' +
',' + cast(FLG_Situacao as Varchar(2))+
',' + '''' + Tipo + '''' +
',' + '''' + Query + '''' +')'
FROM WKF_EtapaCampoGen
我有错误 "Incorrect sintax near FROM",但我看不出哪里出了问题,有人知道吗? 有趣的是,例如,此列中的 Des_Label 是脚本,DB 找到它来自哪里的引用,但是如果我在 from 语句中有错误,它如何找到?
在 stament 的情况下缺少 END,最后脚本返回了这个。
INSERT WKF_EtapaCampoGen VALUES
(@Id_Etapa,'Areas','CampoComplementar1',0,getdate(),NULL,1,'Lista','select Des_area as Texto, Des_area as valor from wkf_area')
您的 case 表达式需要 END
CASE WHEN DT_Alteracao IS NULL OR DT_Alteracao = '' THEN 'NULL' ELSE '''''' END