У меня есть динамическая инструкция SQL, которая генерирует серию операторов обновления, но не включает значение в предложении set и where where в одинарной кавычки. кто-нибудь знает, как это исправить? вот мой код.нужна динамическая помощь SQL
Declare @OldSSN VARCHAR(9)
Declare @NewSSN VARCHAR(9)
Declare @cmd VARCHAR(MAX)
Set @OldSSN='000000000'
Set @NewSSN='000000001'
Select @cmd = COALESCE(@cmd,'') +
'
UPDATE ' + TABLE_NAME + ' SET ' + Column_Name + ' = ' + @NewSSN + '
WHERE ' + Column_Name + ' = ' + @OldSSN +'
'
From INFORMATION_SCHEMA.COLUMNS
Where Column_Name like 'SSN%'
OR Column_Name LIKE 'ssn%'
OR Column_Name LIKE 'ssn%'
OR Column_Name LIKE '%_ssn%'
OR Column_Name LIKE '_ocsecno'
OR Column_Name LIKE 'Ssn%';
Select @cmd
Выход при выполнении
UPDATE appl_view
SET ssn = 000000001
WHERE ssn = 000000000
UPDATE ap_paid
SET ssn = 000000001
WHERE ssn = 000000000
Я пытаюсь выяснить, как заключите значения Ssn в опалить кавычки, как показано ниже
UPDATE appl_view
SET ssn = '000000001'
WHERE ssn = '000000000'
UPDATE ap_paid
SET ssn = '000000001'
WHERE ssn = '000000000'
Не уверен, что, если я правильно понял проблему, но вы можете использовать две кавычки («»), чтобы создать одиночную кавычку –
Почему вы хранящие ПЛА в виде обычного текста? Вы знаете, что это потенциально может нарушить закон? Сделай себе и своей компании пользу и зашифруйте это сразу. –
@SeanLange Нельзя хранить их в текстовом формате, но это не совсем лучшая идея. –