You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中等价于Oracle 'as table of'的语法是什么

Oracle as table of 类型转SQL Server语法解决方案

你提供的Oracle代码作用是创建名为PARAMS的集合类型,本质是存储字符串的嵌套表,SQL Server中对等的对象是用户定义表类型(UDTT),直接转换后的语法如下:

CREATE TYPE PARAMS AS TABLE
(
    Value VARCHAR(3000)
)

注意事项

  • 如果需要兼容非ASCII字符(比如中文、特殊符号),可以将VARCHAR(3000)替换为NVARCHAR(3000),存储容量和原Oracle的varchar2(3000)基本对齐
  • SQL Server 默认不支持CREATE OR REPLACE直接覆盖现有类型,如果要实现和原Oracle一致的覆盖创建效果,可用以下语句:
DROP TYPE IF EXISTS PARAMS
GO

CREATE TYPE PARAMS AS TABLE
(
    Value VARCHAR(3000)
)
GO
  • 转换后的类型使用方式和原Oracle类型基本一致,可作为存储过程、自定义函数的入参,也可声明为T-SQL变量存储多行字符串数据
  • 若将该类型用作存储过程/函数的入参,需要在参数声明后加READONLY修饰,这是SQL Server表值参数的强制要求

内容的提问来源于stack exchange,提问作者Chang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:48:02