SORU
28 Ocak 2011, Cuma


Sunucu @değişken SEÇİN SQL?

Benim Sql (2008) gayet iyi yürüten Saklı Yordamlara aşağıdaki kodu var:

    CREATE PROCEDURE [dbo].[Item_AddItem]
        @CustomerId uniqueidentifier,
        @Description nvarchar(100),
        @Type int,
        @Username nvarchar(100),
    AS
    BEGIN

        DECLARE @TopRelatedItemId uniqueidentifier;
        SET @TopRelatedItemId = 
        (
           SELECT top(1) RelatedItemId 
           FROM RelatedItems 
           WHERE CustomerId = @CustomerId
        ) 

        DECLARE @TempItem TABLE
        (
            ItemId uniqueidentifier,
            CustomerId uniqueidentifier,
            Description nvarchar(100),
            Type int,
            Username nvarchar(100),
            TimeStamp datetime
        );

        INSERT INTO Item
        OUTPUT INSERTED.* INTO @TempItem
        SELECT NEWID(), @CustomerId, @Description, @Type, @Username, GETDATE()

        SELECT
            ItemId,
            CustomerId,
            @TopRelatedItemId,
            Description,
            Type,
            Username,
            TimeStamp
        FROM
            @TempItem
END
GO

Sana soru mu var çocuklar çizgisinde bir şey yapmak için bir olasılık şu:

DECLARE @TempCustomer TABLE
(
   CustomerId uniqueidentifier,
   FirstName nvarchar(100),
   LastName nvarchar(100),
   Email nvarchar(100)
);
SELECT 
    CustomerId, 
    FirstName, 
    LastName, 
    Email 
INTO 
    @TempCustomer 
FROM 
    Customer
WHERE 
    CustomerId = @CustomerId

Diğer aşağıdaki tablolarda bellekten bu verileri yeniden olabilir? SQL Server yukarıdaki ifade ile bir uyum atar, ancak ayrı bir değişken oluşturmak ve bunların her biri başlatmak için aynı tabloya karşı ayrı bir deyim) sahip olmak istemiyorum.... !! UGH!

Aynı tabloda birden fazla sorgu olmadan çizgisinde bir şey elde etmek için nasıl bir önerin var mı?

CEVAP
28 Ocak 2011, Cuma


TABLO DEĞİŞKEN .. İÇİNE SEÇİN .. olamaz. Yapabileceğin en iyi şey oluşturun, sonra içine yerleştirin. 2 parçacık olmalı

DECLARE @TempCustomer TABLE
(
   CustomerId uniqueidentifier,
   FirstName nvarchar(100),
   LastName nvarchar(100),
   Email nvarchar(100)
);
INSERT INTO 
    @TempCustomer 
SELECT 
    CustomerId, 
    FirstName, 
    LastName, 
    Email 
FROM 
    Customer
WHERE 
    CustomerId = @CustomerId

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bobbylee Budde

    Bobbylee Bud

    13 ŞUBAT 2011
  • Nightmare2005

    Nightmare200

    14 Ocak 2007
  • pilslajt

    pilslajt

    20 HAZİRAN 2008