Привет, ребята, я создаю процедуру магазина, но я получаю эту ошибку: 105 Unclosed quotation mark after the character string 'Guadalajara,Jal'.
, и я просмотрел несколько веб-сайтов, к сожалению, я нашел ответ. Вот мой код:Ошибка Transact SQL Server 105
Alter Procedure Insertar
(
@Vuelos nvarchar(6),
@Aero nvarchar(20),
@Sal nvarchar(40),
@Ori varchar(50),
@Des varchar(50),
@Lle nvarchar(40),
@Per nvarchar(1),
@Nom nvarchar(25),
@Nodo nvarchar(13)
)
AS
BEGIN
Set XACT_ABORT ON
Begin DISTRIBUTED TRANSACTION
BEGIN TRY
Insert into Reservaciones values
(
@Vuelos,@Aero,@Sal,@Ori,@Des,@Lle,@Per,@Nom,GETDATE()
)
DECLARE @cmd as sysname;
SET @cmd ='Insert into ['[email protected]+'].'+'['[email protected]+'].[dbo].[Reservaciones] values'+
'('''[email protected]+''','''[email protected]+''','''[email protected]+''','''[email protected]+''','''[email protected]+''','''[email protected]+''','[email protected]+','''[email protected]+''',GETDATE())'
EXEC(@cmd)
SET @cmd='Update ['[email protected]+'].['[email protected]+'].[dbo].[Vuelos] Set Dis-='[email protected]+' where Vuelo='[email protected];
EXEC(@cmd)
END TRY
BEGIN CATCH
PRINT ERROR_NUMBER()
PRINT ERROR_MESSAGE()
ROLLBACK
END CATCH
IF @@TRANCOUNT > 0
commit
END
и это то, что я вход в хранимой процедуре
EXEC Insertar 'AM 500','Mexicana','2015-05-13 19:00:00.0','Guadalajara,Jalisco,Mexico','San Diego,California,Estados Unidos','2015-05-13 21:21:00.0',3,'gus','Gustavo\Nodo1';
Чтобы быть более конкретным проблема в том, что SQL режет половину, что там в переменной @Ori
однако у меня есть debug и в этой переменной, и она завершена, я проверил и да, что переменная имеет достаточно места для текста.
Я ценю любую помощь, которую вы, ребята, можете мне предоставить.
Спасибо, что вы сработали, изменив другой тип данных. Итак, какова будет ваша рекомендация вместо использования динамического sql ?. Я решил использовать его с тех пор, как использовал связанные серверы. – Gustavo
Сколько у вас связанных серверов? –
На данный момент у меня 4, но в ближайшем будущем планируется добавить еще 5. – Gustavo