Je ne peux pas sembler obtenir le paramètre de sortie à droite, il est vide où je suis exepecting « TEMPTABLE »?paramètre de sortie dans la procédure stockée est nulle
create table TEMPTABLE
(
Id int identity primary key,
Name nvarchar(50) not null,
);
GO
insert into TEMPTABLE(Name) values('Name 1');
GO
DECLARE @PARMOUTP nvarchar(50)
DECLARE @ParameterDefinition AS NVARCHAR(2000)
DECLARE @DestTable VARCHAR(50)
declare @sql nvarchar(max)
set @sql = 'SELECT OBJECT_NAME(OBJECT_ID) AS TABLENAME
FROM SYS.IDENTITY_COLUMNS
WHERE OBJECT_NAME(OBJECT_ID) = @DestTable'
set @DestTable = 'TEMPTABLE'
set @ParameterDefinition = '@DestTable VARCHAR(50), @PARMOUTP VARCHAR(50) OUTPUT'
EXECUTE sp_executesql @sql,
@ParameterDefinition,
@DestTable,
@PARMOUTP OUTPUT
print @PARMOUTP;
print isnull(@PARMOUTP, 'PARMOUTP is null!');
Qu'est-ce que je fais mal ici?
Cordialement,
Mike
Quel SQL Server? Avez-vous essayé une autre base de données (peut-être certaines restrictions s'appliquent pour le courant)? Je ne peux pas reproduire le problème sur 2008 R2. – OzrenTkalcecKrznaric
SQL Server 2008 Ozren –