【发布时间】:2015-10-08 05:09:21
【问题描述】:
我的数据库的一个表中的一列(表 A 和列 A)可以是数字类型或 VARCHAR 类型。数据类型是动态决定的,然后创建表。
我需要创建一个动态变量 (@Dynamic),它应该检查该列的数据类型并相应地为其分配不同的列(B 列或 C 列),即
- 如果 A 列是 NVARCHAR,则将 B 列分配给 @Dynamic
- 如果 A 列是 NUMERIC,则将 C 列分配给 @Dynamic
我必须在 SQL Server 和 Oracle 中都这样做。
任何为此编写函数的帮助将不胜感激。
【问题讨论】:
-
下次尝试为SqlFiddle 提供架构和一些数据,以便我们更好地理解问题并更快地给您答案——也请阅读How to ask 和How to create a Minimal, Complete, and Verifiable example.跨度>
-
您要指定列名还是列数据?
-
我想分配列名,以便我可以在另一个动态 sql 中使用该动态变量
-
你能添加更多关于你必须做什么的细节吗?就目前而言,我很难理解你最终想要做什么。此外,这感觉可能是一个 XY 问题,并且可能有一个更简单的整体解决方案来满足您的需求。
标签: sql sql-server oracle stored-procedures