利用Transact-SQL语句完成下列程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Transact-SQL语句完成下列程序相关的知识,希望对你有一定的参考价值。

1. 在数据库sales中新建表sale_price,其中包含两个字段:int型的in_price和长度为40个字符的goods_name,并在goods_name字段上设置主键约束。
4. 已知sales数据库有库存表stock和订购表order,都有id,name和quantity字段,其中quantity分别表示库存量和订购量,查询订购量大于100的商品id和name和库存量。
5. 编写Transact-SQL程序计算1+2+3+……+100的和。

麻烦各写大侠不要写成一横排不然看不懂,谢谢!

T-SQL代码如下,都经过了测试:

--1.
USE sales
CREATE TABLE sale_price
(
in_price INT,
goods_name VARCHAR(40) PRIMARY KEY
)
GO

--4.
SELECT id, name, quantity
FROM stock
WHERE id IN ( SELECT id
FROM [order]
WHERE quantity > 100 )

--5.
DECLARE @i INT,
@sum INT
SELECT @i = 1,
@sum = 0
WHILE @i <= 100
BEGIN
SELECT @sum = @sum + @i,
@i = @i + 1
END
PRINT \'1+2+3+...+100 = \' + CONVERT(VARCHAR, @sum)

运行测试:
1+2+3+...+100 = 5050
参考技术A 1.
use sales
CREATE TABLE [dbo].[sale_price](
[goods_name] [varchar](40) NOT NULL,
[in_price] [int] NULL,
CONSTRAINT [PK_sales] PRIMARY KEY CLUSTERED
(
[goods_name] ASC
)ON [PRIMARY]
) ON [PRIMARY]
GO
4.
select order.id, order.name, stock.quantity
from order left join stock on order.id=stock.id
where order.quantity >100
5.
declare @i int
declare @sum int
set @i=1
set @sum=0
while @i<=100
begin
set @sum=@sum+@i
set @i = @i+1
end
select @sum
参考技术B 先不要用SQL写啊,先把表建起来,再看代码就简单了

@@ROWCOUNT (Transact-SQL)

@@ROWCOUNT (Transact-SQL)

返回受上一语句影响的行数。如果行数大于 20 亿,请使用 ROWCOUNT_BIG。

 Transact-SQL 语法约定

语法


@@ROWCOUNT
返回类型

int

备注

Transact-SQL 语句可以通过下列方式设置 @@ROWCOUNT 的值:

将 @@ROWCOUNT 设置为受影响或被读取的行的数目。可以将行发送到客户端,也可以不发送。

保留前一个语句执行中的 @@ROWCOUNT。

将 @@ROWCOUNT 重置为 0 但不将该值返回到客户端。

执行简单分配的语句始终将 @@ROWCOUNT 值设置为 1。不将任何行发送到客户端。这些语句的示例如下:SET @local_variable、RETURN、READTEXT 以及不带查询Select 语句,如 SELECT GETDATE() 或 SELECT ‘Generic Text‘。

在查询中执行分配或使用 RETURN 的语句将 @@ROWCOUNT 值设置为受查询影响或由查询读取的行数,例如:SELECT @local_variable = c1 FROM t1。

数据操作语言 (DML) 语句将 @@ROWCOUNT 值设置为受查询影响的行数,并将该值返回到客户端。DML 语句不会将任何行发送到客户端。

DECLARE CURSOR 和 FETCH 将 @@ROWCOUNT 值设置为 1。

EXECUTE 语句保留前一个 @@ROWCOUNT。

USE、SET option、DEALLOCATE CURSOR、CLOSE CURSOR、BEGIN TRANSACTION 或 COMMIT TRANSACTION 等语句将 ROWCOUNT 值重置为 0。

示例

以下示例执行 UPDATE 语句并使用 @@ROWCOUNT 来检测是否更改了任何一些行。

USE AdventureWorks;
GO
UPDATE HumanResources.Employee 
SET Title = NExecutive
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT Warning No rows were updated;
GO

转载:提示符 也玩 博客  

@@ROWCOUNT (Transact-SQL)

以上是关于利用Transact-SQL语句完成下列程序的主要内容,如果未能解决你的问题,请参考以下文章

@@ROWCOUNT (Transact-SQL)

数据库 分别使用一条Transact-SQL语句完成下来操作拜托各位了 3Q

Transact-SQL中的存储过程

stored procedure --存储过程

在 Transact-SQL 中用 CASE 语句替换条件逻辑是不是有效?

sql server中的go