[ad_1]
我将数据库附加到 SQL Server 2022 版本并添加了一个新表 URLabelHeader。 添加新的存储过程时出现以下错误。
SQL
CREATE PROCEDURE [dbo].[spSaveURLprocess] ( @tblURLlabelHeader [dbo].tblURLabelHeader Readonly ) AS BEGIN SET NOCOUNT ON;.....
错误信息:
Msg 2715, Level 16, State 3, Procedure spSaveURLprocess, Line 10 [Batch Start Line 6] Column, parameter, or variable #1: Cannot find data type dbo.tblURLlabelHeader. Parameter or variable '@tblURLlabelHeader' has an invalid data type.
参数 @tblURLlabelHeader 不能声明为 READONLY,因为它不是表值参数。
谁能帮帮我吗!
我尝试过的:
除了新创建的表之外它都有效。 可以创建基于旧表的存储过程。 提前致谢。
解决方案1
根据错误消息和创建过程语句,该表类型似乎不存在。 您可能需要生成用户定义的表类型 tblURLabelHeader
。
SQL
/* Create a table type. */ CREATE TYPE tblURLabelHeader AS TABLE ( ColumnName1 datatype, ColumnName2 datatype ); GO
您可以通过以下查询来验证表类型:’tblURLabelHeader
‘以及其他新创建的表。
SQL
SELECT * FROM sys.table_types WHERE name = 'yourtabletypename' -- In your case is 'tblURLabelHeader'
您还可以参考下面的示例/链接,了解有关如何创建用户定义表类型的更多详细信息。 创建类型 (Transact-SQL) – SQL Server | 微软学习[^]
[ad_2]
コメント