English 中文(简体)
从另一个储存程序服务器上储存的程序
原标题:Calling stored procedure from another stored procedure SQL Server

我在2个不同表格中插入了3个存储程序。

Table 1          Table 2                
idPerson         idProduct             
name             productName            
phoneNumber      productdescription     
FK-idProduct

表1

create procedure test1                create procedure test2
WITH                                  WITH 
EXECUTE as caller                     EXECUTE as caller
AS                                    AS
declare                               declare

@idPerson int,                        @idProduct int,
@name varchar(20),                    @productName varchar(50),
@phone varchar(20)                    @productoDescription varchar(50)


  SET nocount on;                     SET nocount on;
    Begin                             Begin
      insert into table1(                insert into table2(
                idPerson,                          idProduct,
                name,                              productName,
                phone)                             productDescription)
          values(                            values(
                @idPerson,                         @idProduct,
                @name,                             @productName,
                @phone)                            @productDescription)
      end                               end

我需要从所储存的程序测试1中发出储存程序测试2,并在表1中插入科索沃信托公司。

问题回答

缩略语 如:

EXEC test2 @newId, @prod, @desc;

• 确保使用SCOPE_IDENTITY(SCOPE_IDENTITY)获得@id,该代码将最后身份价值插入同一范围的一个身份栏:

SELECT @newId = SCOPE_IDENTITY()

您可添加一个环流层参数,以测试2,并在INSERT使用以下方法之后将其直截了当:

SELECT @NewIdOutputParam = SCOPE_IDENTITY()

然后在试验1中检索:

DECLARE @NewId INTEGER
EXECUTE test2 @NewId OUTPUT
-- Now use @NewId as needed

首先,如果<条码>表2复制为一种特性,则在您建立<条码>之前,你不能明确插入。 IDENTability_INSERT on that table

SET IDENTITY_INSERT table2 ON;

页: 1

因此,你对您的第二次储存进行了修改,只将其称作productNameproductDescription,然后获得新的ID。

EXEC test2  productName ,  productDescription 
SET @newID = SCOPE_IDENTIY()

或您已经拥有该产品的ID,而您无需打上SCOPE_IDENTability(,并可在table1上与该ID相加。





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

难以执行 REGEXP_SUBSTR

I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域

SQL Query Shortcuts

What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2

PHP array callback functions for cleaning output

I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

Running numbers in SQL

I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签