您是否知道如何自动从数据库表列的类型中获取参数类型?
例如,
CREATE PROCEDURE UspS_GetProjectUser
@UserName GETTYPE(Projects.username)
AS
BEGIN
SET NOCOUNT ON;
SELECT TOP 1 * FROM Projects (NOLOCK)
WHERE Projects.expirationDate > GETDATE()
AND Projects.username = @UserName
END
GETTYPE(Projects.username)<<<我想获取数据库表列类型的类型?
谢谢..
答案 0 :(得分:0)
由于捕获22,这是不可能的。需要编译和执行proc以调用GETTYPE函数,但由于未知参数数据类型,无法编译proc。这需要当前不在SQL Server中的功能。
我假设你想要这个功能,不是在运行时动态确定数据类型,而是为了避免手动匹配列数据类型的开发工作(即创建时的静态类型)。这有点值得注意,但请注意调用者还应指定正确的数据类型,以避免由于隐式数据类型转换而导致的意外行为。