--4.Viết một Stored Procedure để truy xuất danh sách khách hàng dựa trên --khu vực địa lý(Region) hoặc quốc gia(Country) của họ. Tham số đầu vào sẽ --khu vực địa lý hoặc quốc gia và Stored Procedure sẽ trả về danh sách --các khách hàng trong khu vực đó. CREATE PROCEDURE ListCustomer @Region NVARCHAR(15), @Country NVARCHAR(15) AS BEGIN SELECT c.* FROM dbo.Customers as c WHERE c.Region = @Region OR c.Countries = @Countr END EXEC ListCustomer @Region = 'SP', @Country = '' EXEC ListCustomer @Region = '', @Country = 'Germany'
CAU 3: CREATE PROC DANHSACHSANPHAM @CATEGORYID INT, @SOLUONGSANPHAMTRAVE INT AS BEGIN SELECT TOP(@SOLUONGSANPHAMTRAVE)* FROM Products WHERE CategoryID=@CATEGORYID END EXEC DANHSACHSANPHAM @CATEGORYID=1, @SOLUONGSANPHAMTRAVE=4
thầy ơi, đoạn sql server của em viết có mấy dấu ............ kí tự tab cuối dòng thay vì mặc định là khoảng trắng, em chỉnh lại option nhiều lần mà vẫn ko được. Thầy có biết nên chọn mặc định option ntn ko ạ
CAU 4: CREATE PROC KHACHHANG1 @REGION NVARCHAR(15)=NULL, @COUNTRY NVARCHAR(15)=NULL AS BEGIN SELECT * FROM Customers WHERE Region=@REGION OR Country=@COUNTRY END EXEC KHACHHANG1 @REGION='OR'
decimal(p,s) trong đó p là tổng số nguyên trc và sau dấu phẩy, s là số thập phân sau dấu phẩy, nếu vượt quá p hoặc s sẽ tự làm tròn lên hoạc xuống tùy vào > hay < 5
--BT1 CREATE PROCEDURE OrdersList @CustomerID NVARCHAR (5) AS BEGIN SELECT [CustomerID],[OrderID], [OrderDate] FROM [dbo].[Orders] WHERE @CustomerID=[CustomerID] END; EXEC OrdersList @CustomerID='VINET'; --BT2 CREATE PROCEDURE QuanityUpdate @ProductID INT, @QuantityPerUnit NVARCHAR(20) AS BEGIN UPDATE [dbo].[Products] SET [QuantityPerUnit]=@QuantityPerUnit WHERE @ProductID=[ProductID] END; EXEC QuanityUpdate @ProductID=1, @QuantityPerUnit=200; --BT3 CREATE PROCEDURE Productslist @CategoryID INT, @Limit INT AS BEGIN SELECT Top(@Limit) [CategoryID],[ProductID],[ProductName],[UnitPrice],[UnitsInStock] FROM [dbo].[Products] WHERE @CategoryID=[CategoryID] END --- EXEC Productslist @CategoryID=1, @Limit=40; ----BT4 CREATE PROCEDURE CustomersbyRegions @Region NVARCHAR(15)=Null, @Country Nvarchar(15)=Null AS BEGIN IF @Region IS NOT NULL Begin SELECT * FROM [dbo].[Customers] WHERE @Region=[Region] END ELSE Begin SELECT * FROM [dbo].[Customers] WHERE @Country=[Country] END END --- EXEC CustomersbyRegions @Country=USA;
--4.Viết một Stored Procedure để truy xuất danh sách khách hàng dựa trên
--khu vực địa lý(Region) hoặc quốc gia(Country) của họ. Tham số đầu vào sẽ
--khu vực địa lý hoặc quốc gia và Stored Procedure sẽ trả về danh sách
--các khách hàng trong khu vực đó.
CREATE PROCEDURE ListCustomer
@Region NVARCHAR(15),
@Country NVARCHAR(15)
AS
BEGIN
SELECT c.*
FROM dbo.Customers as c
WHERE c.Region = @Region OR c.Countries = @Countr
END
EXEC ListCustomer @Region = 'SP', @Country = ''
EXEC ListCustomer @Region = '', @Country = 'Germany'
ok
good job thầy ơi:))
e để bảng order details cùng bảng orders ở phần from và dời o.OrderID = od.OrderID xuống Where vẫn đúng phải k a
CAU 3:
CREATE PROC DANHSACHSANPHAM
@CATEGORYID INT,
@SOLUONGSANPHAMTRAVE INT
AS
BEGIN
SELECT TOP(@SOLUONGSANPHAMTRAVE)*
FROM Products
WHERE CategoryID=@CATEGORYID
END
EXEC DANHSACHSANPHAM @CATEGORYID=1, @SOLUONGSANPHAMTRAVE=4
thầy ơi, đoạn sql server của em viết có mấy dấu ............ kí tự tab cuối dòng thay vì mặc định là khoảng trắng, em chỉnh lại option nhiều lần mà vẫn ko được. Thầy có biết nên chọn mặc định option ntn ko ạ
em chưa thấy code bài này thầy ơi :< up git em tham khảo với ạ
câu 2 "số lượng mới" làm như thế nào vậy ạ
cập nhật số lượng mới cho số lượng tồn kho cũ thì phải
EM LÀM GIỐNG NHƯ ANH NHƯNG LẠI BÁO LỖI Ở FROM VS WHERE
CAU 4:
CREATE PROC KHACHHANG1
@REGION NVARCHAR(15)=NULL,
@COUNTRY NVARCHAR(15)=NULL
AS
BEGIN
SELECT * FROM Customers
WHERE Region=@REGION OR Country=@COUNTRY
END
EXEC KHACHHANG1 @REGION='OR'
decimal(10, 2) nghĩa là gì vậy a
decimal(p,s) trong đó p là tổng số nguyên trc và sau dấu phẩy, s là số thập phân sau dấu phẩy, nếu vượt quá p hoặc s sẽ tự làm tròn lên hoạc xuống tùy vào > hay < 5
Sao code của e chạy thì không có báo lỗi nhưng mà lại k có kết quả trả về nhỉ? Mọi người có ai bị thế không ạ?
kiểm tra lại query trong procedure có chạy ra kết quả không đã bạn
--BT1
CREATE PROCEDURE OrdersList
@CustomerID NVARCHAR (5)
AS
BEGIN
SELECT
[CustomerID],[OrderID], [OrderDate]
FROM [dbo].[Orders]
WHERE @CustomerID=[CustomerID]
END;
EXEC OrdersList @CustomerID='VINET';
--BT2
CREATE PROCEDURE QuanityUpdate
@ProductID INT,
@QuantityPerUnit NVARCHAR(20)
AS
BEGIN
UPDATE [dbo].[Products]
SET [QuantityPerUnit]=@QuantityPerUnit
WHERE @ProductID=[ProductID]
END;
EXEC QuanityUpdate @ProductID=1, @QuantityPerUnit=200;
--BT3
CREATE PROCEDURE Productslist
@CategoryID INT,
@Limit INT
AS
BEGIN
SELECT Top(@Limit)
[CategoryID],[ProductID],[ProductName],[UnitPrice],[UnitsInStock]
FROM [dbo].[Products]
WHERE @CategoryID=[CategoryID]
END
---
EXEC Productslist @CategoryID=1, @Limit=40;
----BT4
CREATE PROCEDURE CustomersbyRegions
@Region NVARCHAR(15)=Null,
@Country Nvarchar(15)=Null
AS
BEGIN
IF @Region IS NOT NULL
Begin
SELECT *
FROM [dbo].[Customers]
WHERE @Region=[Region]
END
ELSE
Begin
SELECT *
FROM [dbo].[Customers]
WHERE @Country=[Country]
END
END
---
EXEC CustomersbyRegions @Country=USA;
ban nay hay the
kt lại BT2 cau hỏi la cập nhật số lượng còn lại chứ đâu nói là cập nhật số lượng mới đâu bạn
@@Tuanseven1991 cập nhật số lượng mới cho thằng tồn kho đấy