MNosouhi
پنج شنبه 09 آبان 1392, 22:18 عصر
سلام
در sql2008 ابتدا یک جدول ایجاد کردم :
CREATE TABLE [dbo].[Table_1](
[a1] [int] IDENTITY(1,1) NOT NULL,
[a2] [nvarchar](10) NULL,
[a3] [smallint] NULL,
CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED
(
[a1] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
سپس اطلاعات وارد آن کردم:
SET IDENTITY_INSERT [dbo].[Table_1] ON
INSERT [dbo].[Table_1] ([a1], [a2], [a3]) VALUES (1, N'1392/01/01', 2)
INSERT [dbo].[Table_1] ([a1], [a2], [a3]) VALUES (2, N'1392/01/01', 4)
INSERT [dbo].[Table_1] ([a1], [a2], [a3]) VALUES (3, N'1392/01/02', 1)
INSERT [dbo].[Table_1] ([a1], [a2], [a3]) VALUES (4, N'1392/01/02', 3)
SET IDENTITY_INSERT [dbo].[Table_1] OFF
سپس یک ویو ایجاد کردم :
CREATE VIEW [dbo].[View_1]
AS
SELECT TOP (100) PERCENT a1, a2, a3
FROM dbo.Table_1
ORDER BY a3
همانطوری که می بینید در ایجاد ویو بر اساس a3 سورت شده است .
حال دستور زیر را استفاده می کنم :
SELECT [a1],[a2],[a3] FROM [View_1]
بعد از اجرای دستور select بالا ، بر خلاف انتظارم ، اطلاعات بر اساس a3 سورت نیست . متذکر می شوم که من این مشکل را در sql2008 دارم و در sql2000 چنین مشکلی ندارم .
لطفا اساتید راهنمایی بفرمایند .
با تشکر
در sql2008 ابتدا یک جدول ایجاد کردم :
CREATE TABLE [dbo].[Table_1](
[a1] [int] IDENTITY(1,1) NOT NULL,
[a2] [nvarchar](10) NULL,
[a3] [smallint] NULL,
CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED
(
[a1] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
سپس اطلاعات وارد آن کردم:
SET IDENTITY_INSERT [dbo].[Table_1] ON
INSERT [dbo].[Table_1] ([a1], [a2], [a3]) VALUES (1, N'1392/01/01', 2)
INSERT [dbo].[Table_1] ([a1], [a2], [a3]) VALUES (2, N'1392/01/01', 4)
INSERT [dbo].[Table_1] ([a1], [a2], [a3]) VALUES (3, N'1392/01/02', 1)
INSERT [dbo].[Table_1] ([a1], [a2], [a3]) VALUES (4, N'1392/01/02', 3)
SET IDENTITY_INSERT [dbo].[Table_1] OFF
سپس یک ویو ایجاد کردم :
CREATE VIEW [dbo].[View_1]
AS
SELECT TOP (100) PERCENT a1, a2, a3
FROM dbo.Table_1
ORDER BY a3
همانطوری که می بینید در ایجاد ویو بر اساس a3 سورت شده است .
حال دستور زیر را استفاده می کنم :
SELECT [a1],[a2],[a3] FROM [View_1]
بعد از اجرای دستور select بالا ، بر خلاف انتظارم ، اطلاعات بر اساس a3 سورت نیست . متذکر می شوم که من این مشکل را در sql2008 دارم و در sql2000 چنین مشکلی ندارم .
لطفا اساتید راهنمایی بفرمایند .
با تشکر