valores valor una tipos tablas tabla referencia que presentacion parametros para numericos integrados formatos datos conversiones c# sql-server

c# - una - Parámetro opcional de valor de tabla



tipos de tablas en c# (3)

Básicamente, tener el valor predeterminado "= nulo" no tiene sentido y es la razón del error.

De forma predeterminada, @Table testteype obtiene el valor de una tabla vacía. Por lo tanto, puede eliminar = null:

CREATE PROCEDURE SP @Table testteype READONLY AS ....

Referencia: para una muestra sobre cómo usar esto con C # ADO.NET, recomendaría usar esta publicación - Uso de parámetros valiosos de tabla de SQL Server

¿Es posible crear un procedimiento con un parámetro de valor de tabla como un parámetro opcional?

Probé el siguiente código:

CREATE PROCEDURE SP @Table testteype = null READONLY AS ....

Pero me sale este error:

Operand type clash: void type is incompatible with test type

ps: uso servidor sql con C # .Net


Los parámetros de valor de tabla siempre tienen un valor implícito de una tabla vacía. Así que puedes llamar a ese procedimiento sin ningún parámetro y se ejecutaría, pero la tabla estaría vacía.

Por lo tanto, no tiene sentido etiquetar un parámetro de valor de tabla con un valor predeterminado. Elimine "= null", verifique el contenido de la tabla y debería estar listo.


No estoy seguro de por qué la respuesta anterior indica que hacer un valor predeterminado = NULL es incorrecto, pero esto funciona para mí.

CREATE PROCEDURE SP ( @Param1 VARCHAR(10), @Param2 VARCHAR(10)=NULL ) SELECT...... WHERE @Param1 = SOMETHING AND (@Param2 = SOMETHING OR @Param2 IS NULL)