第 2 部分:使用产品和产品库存表创建存储过程。此存储过程应声明一个变量并将其设置为产品表中所有产品的计数。如果计数大于或等于 20,存储过程应显示一条消息“库存计数大于或等于 20”。否则,应显示“产品库存数量少于 20”。
CREATE PROCEDURE Moreorless20ProductInventory
AS
BEGIN
DECLARE @countprod INT
SELECT @countprod = countprod
FROM
(SELECT COUNT(*)
INTO countprod
FROM Production.ProductInventory);
IF @countprod >= 20
BEGIN
SELECT 'The number of products is greater than or equal to 20' as col1;
ELSE
SELECT 'The number of products is less than 20' as col1;
END IF;
END
Run Code Online (Sandbox Code Playgroud)
错误:
消息 156,级别 15,状态 1,过程 Moreorless20ProductInventory,第 8 行 [批处理起始行 0]
关键字“INTO”附近的语法不正确。消息 156,级别 15,状态 1,过程 Moreorless20ProductInventory,第 14 行 [批处理起始行 0]
关键字“ELSE”附近的语法不正确。 …
如何在C#中编写下面的存储过程
我正在创建类库文件.我得到一个情况......不要将scirpt文件提供给客户......所以我必须在c#代码中创建SP.我非常想把它保存在C#程序集中让我知道这是可能的
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[AdjustTax]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[AdjustTax]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[AdjustTax]
@IN_SOPType INT,
@IN_SOPNo VARCHAR(21),
@IN_AdjustAmount NUMERIC(19,5),
@O_iError INT OUTPUT
AS
BEGIN
DECLARE @Sequence INT,
@FunctionalAmt NUMERIC(19,5),
@OriginalAmt NUMERIC(19,5),
@TaxDetail VARCHAR(30),
@TaxAmt NUMERIC(19,5),
@CreditAmt NUMERIC(19,5),
@DexRowIDSOP INT,
@SOPHdrTbl VARCHAR(20)
SET NOCOUNT ON;
BEGIN TRANSACTION
SET @O_iError = 0
SELECT @SOPHdrTbl = RTRIM(DB_NAME()) + '.dbo.SOP10100'
SELECT @DexRowIDSOP = DEX_ROW_ID
FROM SOP10100 …Run Code Online (Sandbox Code Playgroud) 在下面的代码中,我想调用一个存储过程并执行一个Query.我正面临错误statement.executeUpdate();请帮助修复它.我不知道哪里出错了.
public void Dbexe() {
Connection connection;
connection = DatabaseConnection.getCon();
CallableStatement stmt;
try {
stmt = connection.prepareCall("{CALL optg.Ld_SOpp}");
stmt.executeUpdate();
stmt.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("Stored Procedure executed");
//PreparedStatement statement = null;
// ResultSet rs = null;
try{
PreparedStatement statement;
try {
statement = connection.prepareStatement("MERGE INTO OPTG.R_VAL AS TARGET USING" +
........... +
"");
statement.executeUpdate(); //Here the exception is thrown
statement.close();
connection.commit();
connection.close();
} catch (SQLException e) {
// TODO Auto-generated …Run Code Online (Sandbox Code Playgroud) 我有这个查询,我想用作存储过程:
SELECT ISNULL(P.firstname, s.firstname) AS Expr1,ISNULL(P.lastname,
s.lastname) AS Expr2 FROM comment AS C LEFT OUTER JOIN professor AS P ON P.ID =
C.PID LEFT OUTER JOIN student AS s ON s.ID = C.SID
WHERE (C.VID = @VID)
Run Code Online (Sandbox Code Playgroud)
它应该返回Expr1和Expr2的值
我试图宣布输入和输出,但没有运气
请帮忙
编辑:
CREATE PROCEDURE [dbo].[GetDepartmentName]
@ID int,
@fName varchar(50) OUTPUT
@lName varchar(50) OUTPUT
AS
SELECT @fName=COALESCE(p.firstname, s.firstname) @lName=COALESCE(p.lastname,
s.lastname)as
FROM comment c
LEFT JOIN Professor p
ON c.pid = p.id
LEFT JOIN Student s
ON c.sid = s.id
WHERE c.vid = …Run Code Online (Sandbox Code Playgroud) 我只想从 SQL 中的特定日期获取星期几。我怎样才能得到从该日期开始的那一天?请指导我。顺便说一下,日期是2015-05-2015。