标签: stored-procedures

如何在SQL Server 2008中使用案例

我想在SQL Server 2008中使用caseafter where子句; 我怎么能像它一样使用它

select * 
from MPR 
where
    case when @min >= 0 
           then MainComponent_Id = @mainc and SubComponent_Id = @subcomp 
           else MainComponent_Id = @mainc and SubComponent_Id = @subcomp and MinorComponent_Id = @minorc   
   end
end
Run Code Online (Sandbox Code Playgroud)

我正在使用存储过程,并且在我的存储过程中,如果minorcomponent_id值为0,那么它将添加1,否则其中2将起作用.

我曾经努力过,但在近乎情况下给出了错误.

怎么解决?

谢谢

sql stored-procedures sql-server-2008

-1
推荐指数
1
解决办法
115
查看次数

检查长度并自动插入字符存储过程SQL Server

我有如下要求:

SELECT code from Products
Run Code Online (Sandbox Code Playgroud)
  • 选择表格产品的代码
  • 检查代码长度; 如果<8自动插入"0"之前它到足够的8个字符.

样品:

If code is : 1234  => 00001234
             12345 => 00012345
             ..... => xxxxxxxx
Run Code Online (Sandbox Code Playgroud)

我想在SQL Server 2012中使用存储过程来执行此操作.

sql sql-server stored-procedures

-1
推荐指数
1
解决办法
1168
查看次数

将字符串列表传递给存储过程

我想使用SQL Server 2012创建一个存储过程,该存储过程传入​​一个字符串列表并检查每个条目。Iv将列表添加到一个逗号分隔的字符串'UserGroupsAllowedToViewMap'中。这适用于一个条目,但是我需要检查它是否包含多个条目。

public DataTable GetMapsWithWorkspaceForUserGroups(int workspaceID, string UserGroupsAllowedToViewMap)
{
        DataTable mapDets = new DataTable();

        SqlCommand oComm = new SqlCommand();
        SqlParameter spParam_WrkSpaceId = new SqlParameter();
        SqlParameter spParam_ViewMap = new SqlParameter();
        SqlParameter[] spParams = new SqlParameter[2];

        SqlDataAdapter daUserMaps = new SqlDataAdapter();
        try
        {
            spParam_WrkSpaceId.ParameterName = "@workspaceID";
            spParam_WrkSpaceId.Value = workspaceID;
            spParams[0] = spParam_WrkSpaceId;

            spParam_ViewMap.ParameterName = "@ViewMap";
            spParam_ViewMap.Value = UserGroupsAllowedToViewMap;
            spParams[1] = spParam_ViewMap;

            oComm = CreateCommand("GetWorkspaceMapDetailsForUserByGroups", spParams, TypeOfConnectionString.GeoAppBuilder);
            daUserMaps.SelectCommand = oComm;
            daUserMaps.Fill(mapDets);
        }
        catch (Exception e)
        {
            throw (e);
        }
        finally
        {
            CloseConnection(); …
Run Code Online (Sandbox Code Playgroud)

c# sql stored-procedures sql-server-2012

-1
推荐指数
1
解决办法
1万
查看次数

如何在WinForms中运行存储过程?

我在C#中使用winforms来启动存储在MS SQL Server数据库中的过程.我只有一个变量,它是@XmlStr.我有一个文本框,它将包含变量和我想要启动该过程的按钮.任何人都可以帮我这样做吗?我整天都在研究这个问题,到目前为止还没有找到任何对我有用的东西.

c# sql-server stored-procedures winforms

-1
推荐指数
1
解决办法
7362
查看次数

存储过程:仅在成功时提交

我想构建一个存储过程:1.截断表A 2.截断表B 3.在表A中插入(大量)行4.在表B中插入(大量)行

存储过程应仅在步骤4之后提交语句,以便表不会被锁定并且不会遇到停机时间.如果发生错误(例如,在步骤4中),则必须回滚所有更改.我自己尝试写这篇文章,但是在每次发言之后都做了.

create or replace PROCEDURE upall as

BEGIN
  execute immediate 'truncate table MAIN.SET';
  insert into MAIN.SET select * from MAIN.SET_STAG;

  execute immediate 'truncate table MAIN.TYPE';
  insert into MAIN.TYPE select * from MAIN.TYPE_STAG;

  COMMIT; 
EXCEPTION WHEN OTHERS THEN
  ROLLBACK;
  RAISE; 
END;
Run Code Online (Sandbox Code Playgroud)

sql oracle stored-procedures commit

-1
推荐指数
1
解决办法
353
查看次数

批判这个SQL存储过程

下面是合同开发人员为我写的一个大规模存储过程,我觉得我正在挑选开发人员,但这很糟糕.您可以看到哪些主要问题?

CREATE PROCEDURE [dbo].[usp_SHS_XXXX]  
( 
    @request_identifier varchar(255),
    @category_guids varchar(4000),
    @url varchar(500),
    @section_id int,
    @NoOfDaysToRank int = 45,
    @SaleRankWeight decimal(18,2) = 1.0,
    @QuantityRankWeight decimal(18,2) = 1.0,
    @NewItemWeight decimal(18,2) = 0.2      
)
AS  
BEGIN  
    SET NOCOUNT ON

    declare @tblCatAttrFilteredPhysicalItems table
    (
        [request_identifier] [uniqueidentifier] NULL,
        [item_guid] [uniqueidentifier] NULL,
        [item_cd] [varchar](25) NULL,
        [master_guid] [uniqueidentifier] NULL,
        [item_type_id] [int] NULL,
        [item_description_title] [varchar](100) NULL,
        [item_description_short] [varchar](255) NULL,
        [item_description] [varchar](3000) NULL,
        [item_retail_price] [decimal](18, 2) NULL,
        [item_sale_price] [decimal](18, 2) NULL,
        [item_backorderable] [int] NULL,
        [item_discontinued] [int] NULL,
        [item_available] [int] NULL, …
Run Code Online (Sandbox Code Playgroud)

sql stored-procedures

-2
推荐指数
4
解决办法
390
查看次数

MSSQL:删除重复项的过程

考虑没有任何主键或外键的表。我想编写一个程序,它将删除给定表名的所有重复行。

如果所有字段都相同,则该行应被视为其他行的重复。

如果可以的话,你能建议我吗。我尝试过的一件事是按每个领域分组,但是这种方法并不通用。

sql t-sql sql-server stored-procedures distinct

-2
推荐指数
1
解决办法
1024
查看次数

#1064 - MySQL 服务器版本是否可以在“END”错误附近使用正确的语法?

我创建了一个存储过程以便将数据插入数据库,因为我是存储过程的新手,所以我没有得到这个问题的确切解决方案,以下是我的查询:

create PROCEDURE retrieveSiteDetails
(in longitude varchar(50),in latitude varchar(50),in email_id varchar(60),in file_id varchar(10),
 in unique_site_id varchar(25),in description varchar(150),in site varchar(30),in batch varchar(20),
 in group_is varchar(85),in enumeration varchar(20),in created_at datetime,in modified_at datetime)
 BEGIN
 insert into geodata (longitude,latitude,email_id,file_id, unique_site_id,description,site,batch,
  group_is,enumeration,created_at,modified_at) values (in_longitude,in_latitude,in_email_id,
in_file_id,in_unique_site_id,in_description,in_site,in_batch,in_group_is,in_enumeration,
in_created_at,in_modified_at);
 END
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个查询问题

php mysql stored-procedures phpmyadmin

-2
推荐指数
1
解决办法
3152
查看次数

SQL在查询中使用逗号分隔的字符串

我正在使用存储过程,并用逗号将其传递给字符串,如下所示:

Apple,Banana,Orange
Run Code Online (Sandbox Code Playgroud)

我想在IN子句中使用此字符串,但是我不想使用

SELECT value 
FROM STRING_SPLIT(@MyStr, ',')
Run Code Online (Sandbox Code Playgroud)

我如何生成可以使用的字符串

SELECT * 
FROM MyTable 
WHERE Fruit IN (@MyStr)
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures

-2
推荐指数
1
解决办法
57
查看次数

{“ ORA-06502:PL / SQL:数字或值错误:字符到数字的转换错误\ nORA-06512:在第1行”

我有一个用于将存储过程错误记录到Oracle数据库的文件,但是在执行存储过程时却出现了错误

ORA-06502:PL / SQL:数字或值错误:字符到数字的转换错误
ORA-06512:在第1行

之前我使用的是Microsoft企业日志记录,但现在使用oracle.managed.dataaccess。我的代码如下所示。

如何在我的新代码中解决此部分false,(byte)0,(byte)0,(string)null,DataRowVersion.Default?

c# oracle stored-procedures oracle-manageddataaccess

-2
推荐指数
1
解决办法
132
查看次数