小编geo*_*170的帖子

返回 scope_identity() 问题

环境sql server 2005

在我的存储过程中,我正在调用另一个存储过程将几行插入到几个表中。插入的最后一行我想将该行的标识传递给原始存储过程。我这样做是通过使用return scope_identity();我的理解return是仅用于错误消息/状态代码。这是做我需要做的事情的“好”方式,还是有另一种“更好”的方式?

sql-server

4
推荐指数
1
解决办法
1618
查看次数

Sp_helptext 错误

我正在使用 sp_helptext 列出一些存储的过程而不是通过 ui。我对我们选择采用的命名约定有疑问。

我有一个名为 [Test.FooBar] 的存储过程。

Execute sp_helptext [Test.FooBar]
Run Code Online (Sandbox Code Playgroud)

消息 15009,级别 16,状态 1,过程 sp_helptext,第 54 行 对象 'Test.FooBar' 在数据库 'Foo' 中不存在或对于此操作无效。

当我将 exceut 语句更改为完全限定时,我收到一个不同的错误

Execute sp_helptext [Foo].[dbo].[Test.FooBar]
Run Code Online (Sandbox Code Playgroud)
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '.'.
Run Code Online (Sandbox Code Playgroud)

有人可以指出我正确的方向来解决这个问题。非常感谢。

sql-server

3
推荐指数
1
解决办法
7598
查看次数

使用tsql函数的存储过程参数?

环境sql server 2005 sp3

我有一个以 INT 作为输入的存储过程。我想在调用存储过程期间将 CHAR 转换为 INT。看来我不能那样做。我在@foo 之前收到语法错误。我没有看到它请有人帮我找到它。非常感谢。

CREATE PROCEDURE testme
@test AS INT
AS
BEGIN
SELECT @TEST
END

    DECLARE @foo AS CHAR(6)
set @foo = '11test'
EXEC testMe @test = CAST(Substring(@foo,1,2) as int)
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 sql-server

3
推荐指数
2
解决办法
5941
查看次数

sql server分区视图执行计划问题

我已经创建了一个分区视图为3个表tb_sales2010tb_sales2011tb_sales2012使用检查约束(respectivly为每个表)

日期部分(年,[日期])=(2010)
日期部分(年,[日期])=(2011)
日期部分(年,[日期])=(2012)

表 2010 的架构(所有其他表都相同)

CREATE TABLE [dbo].[tb_Sales2010](
    [Date] [smalldatetime] NOT NULL,
    [ID] [int] NOT NULL

 CONSTRAINT [PK_tb_Sales2010] PRIMARY KEY NONCLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[tb_Sales2010]  WITH CHECK ADD  CONSTRAINT [CK_Date_2010] CHECK  ((datepart(year,[Date])=(2010)))
GO
Run Code Online (Sandbox Code Playgroud)

我的查询是

SELECT TOP 1 *
FROM partitionedTb_sales
WHERE DATEPART(YY, DATE) = 2011
Run Code Online (Sandbox Code Playgroud)

我的问题是,执行计划表明它正在扫描所有 3 个表。而不是查看检查约束并说表 …

execution-plan sql-server-2008-r2

3
推荐指数
1
解决办法
909
查看次数