English 中文(简体)
• 如何将囚室归还板功能中的变量
原标题:how to return a cell into a variable in sql functions

我想界定一个规模较大的功能,在这个职能中,我会把结果变成一个变量,但我不知道如何这样做。

CREATE FUNCTION dbo.Funname ( @param int )
RETURNS INT
AS
declare @returnvar int
select  @returnvar = select colname from tablename where someconditions = something
return(@returnvar)

我想发挥像最高的作用。 我指的是:

select colname from tablename where someconditions = something

只有一个牢房,我们对此确信。 我想将其储存成一个变数,从这一功能中收回。 我怎么能做?

最佳回答

我或许应该提到,乌国防军确实面临相当大的健康警告,并且可以根据你如何使用这些警告来造成业绩问题。

这里就是一个例子。

CREATE FUNCTION dbo.Funname ( @param INT )
RETURNS INT
WITH RETURNS NULL ON NULL INPUT
AS
BEGIN
RETURN (SELECT number FROM master.dbo.spt_values WHERE number < @param)
END

在上述例子中,我没有使用一个变数,因为它是多余的。 变量版本

BEGIN
DECLARE @Result int
SET @Result = (SELECT number FROM master.dbo.spt_values WHERE number < @param)
RETURN @Result
END

在上述两种情况下,你们都需要保证金在大多数一行返回,以避免出现错误。 例如

select dbo.Funname (-1) Returns -32768

select dbo.Funname(0) 回归错误“恢复超过1 价值”

替代yn

BEGIN
DECLARE @Result int
SELECT @Result = number FROM master.dbo.spt_values WHERE number < @param
RETURN @Result
END

如果寄回的子库价值不止一个,这不会再造成错误,但你只是以无警告的武断结果来结束——情况更糟。

评 注 我认为,这是你们需要的。

CREATE FUNCTION dbo.getcustgrade(@custid CHAR(200)) 
RETURNS INT 
WITH RETURNS NULL ON NULL INPUT
AS
BEGIN
        RETURN
        ( SELECT [cust grade]
        FROM    ( SELECT  customerid,
                         DENSE_RANK() OVER (ORDER BY COUNT(*) DESC) AS [cust grade]
                FROM     Orders
                GROUP BY CustomerID
                )
                d
        WHERE   customerid = @custid
        )
END
问题回答

暂无回答




相关问题
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: ...

热门标签