gpt4 book ai didi

sql-server - TSQL 定义临时表(或表变量)而不定义架构?

转载 作者:行者123 更新时间:2023-12-01 18:34:28 24 4
gpt4 key购买 nike

有没有一种方法可以定义临时表而不需要预先定义它的架构?

最佳答案

实际上,使用表 VARIABLE(内存表)是最佳方法。 #table 在临时数据库中创建一个表,而 ##table 是全局的 - 两者都具有磁盘命中。考虑交易数量所经历的放缓/打击。

CREATE PROCEDURE [dbo].[GetAccounts] 
@AccountID BIGINT,
@Result INT OUT,
@ErrorMessage VARCHAR(255) OUT
AS
BEGIN
SET NOCOUNT ON;
SET @Result = 0
SET @ErrorMessage = ''

DECLARE @tmp_Accounts TABLE (
AccountId BIGINT,
AccountName VARCHAR(50),
...
)

INSERT INTO @tmp_Accounts ([AccountId], [AccountName]...
)
SELECT AccountID, AccountName
FROM Accounts
WHERE ...


IF @@Rowcount = 0
BEGIN
SET @ErrorMessage = 'No accounts found.'
SET @Result = 0

RETURN @Result
END
ELSE
BEGIN
SET @Result = 1

SELECT *
FROM @tmp_Accounts
END

注意插入此临时表的方式。

这样做的缺点是可能需要更长的时间来编写,因为您必须定义表变量。

我还推荐 RedGate 的用于查询分析器的 SQL Prompt。

关于sql-server - TSQL 定义临时表(或表变量)而不定义架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/688233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com