【发布时间】:2013-03-18 11:25:48
【问题描述】:
我有一个 select 语句,需要从客户名称中查找客户 ID。如果该名称不存在ID,则需要在客户表中创建一条新记录。这必须作为 select 语句的一部分来完成(与运行它的应用程序相关)。
我尝试查看返回现有ID 或新ID 的UDF,然后才意识到您无法通过函数修改表。
知道如何做到这一点吗?
编辑:
我想我需要进一步澄清一些事情。 select 语句可以并且将在每个实现的基础上发生变化。我正在寻找的是一种通用的方式来查找或创建客户 ID(该表和进行查找的需要不会改变)作为更大的选择语句的一部分。
使用 sql 的应用程序从配置文件加载 select 语句,并有 'SELECT' 硬编码,所以没有机会在 select 等之前添加 exec。
看起来我需要的是 'select a.1 (exec dotheLookup(name)) as customerID, a.2 FROM table 之类的东西,但我不知道该怎么做。
【问题讨论】:
-
你用的是什么数据库?
-
哎呀。 SQL Express 2008 r2
-
使用存储过程代替函数。
-
你想在函数或存储过程中选择语句?
-
我想不出一种方法来对以
SELECT关键字开头的单个查询执行数据操作。
标签: sql sql-server stored-procedures sql-server-2008-r2 user-defined-functions