English 中文(简体)
将多个参数传递到 sql 光标光标输出
原标题:Passing multiples parameters to sql cursor output

这是我的 SQL 光标的片段, 工作正常 。 但我现在要将多个参数传送到 < code@sql 。

看到第二代代码片段的评论,我用谷歌搜索过,但我似乎找不到答案。

set @sql = N  use TESTDOMAINDATABASE  + convert(nvarchar, @domainID) + @NewLineChar  +
           N  select @subDomain = (select subDomain from tblDomains (nolock)) 

execute sp_executesql @sql, N @subDomain nvarchar(500) output , @subDomain output

print  subDomain is   + @subDomain +   and the domainID is   + convert(nvarchar,@domainID)

但请让我说,我想从 tblDomains 另选一栏( said domainName )。

我将如何更新上述发言?

set @sql = N  use TESTDOMAINDATABASE  + convert(nvarchar, @domainID) + @NewLineChar  +
           N  select @subDomain = (select subDomain from tblDomains (nolock))  + @NewLineChar  + 
           N select @domainName = (select domainName from tblDomains(nolock)) 

execute sp_executesql @sql, N @subDomain nvarchar(500) output , @subDomain output /* How do I pass multiple paramaters here ? */
execute sp_executesql @sql, N @domainName nvarchar(500) output , @domainName output /*Adding a 2nd line does not do the trick - results in an error that I must declare the scalar variable @domainName */

print  subDomain is   + @subDomain +   and the domainID is   + convert(nvarchar,@domainID) +   +  and the domain name is   @domainName 
最佳回答

你的意思是这样吗?是否每个数据库 stblDomains 表格只有一行?

set @sql = N  use TESTDOMAINDATABASE  + convert(nvarchar, @domainID) + @NewLineChar  +
           N  select @subDomain = subDomain, @domainName = domainName 
              from tblDomains (nolock); 

execute sp_executesql @sql, 
    N @subDomain nvarchar(500) output, @domainName nvarchar(500) output , 
    @subDomain output, @domainName output;

print  subDomain is   + @subDomain +   and the domainID is   + convert(nvarchar,@domainID)
问题回答

您可以将多个逗号分隔参数传递到 sp_ executesql 中。

DECLARE @sql nvarchar(MAX)
DECLARE @x nvarchar(25)
DECLARE @y nvarchar(25)

SET @sql = N SELECT @x =   hello  , @y =   world   

execute sp_executesql @sql, N @x nvarchar(25) output, @y nvarchar(25) output 
       ,@x output
       ,@y output

PRINT @x +     + @y




相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

难以执行 REGEXP_SUBSTR

I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域

SQL Query Shortcuts

What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2

PHP array callback functions for cleaning output

I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

Running numbers in SQL

I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签