Sql 如何在存储过程中使用局部变量?
如果我想从一个表中选择任何id,并想将它的值作为外键插入另一个表中,那么我将如何通过存储过程执行此操作?我将如何处理此问题的示例Sql 如何在存储过程中使用局部变量?,sql,sql-server,stored-procedures,variables,Sql,Sql Server,Stored Procedures,Variables,如果我想从一个表中选择任何id,并想将它的值作为外键插入另一个表中,那么我将如何通过存储过程执行此操作?我将如何处理此问题的示例 DECLARE @MyID INT; SET @MyID = 0; SELECT @MyID = [TableID] FROM [MyTable] WHERE [TableID] = 99; IF @MyID > 0 BEGIN INSERT INTO [MySecondTable] VALUES (@MyID, othe
DECLARE @MyID INT;
SET @MyID = 0;
SELECT @MyID = [TableID]
FROM [MyTable]
WHERE [TableID] = 99;
IF @MyID > 0
BEGIN
INSERT INTO [MySecondTable]
VALUES (@MyID, othervalues);
END
PostgreSQL样式变量:
DECLARE my_variable1 int;
DECLARE my_variable2 int;
BEGIN
my_variable1 := 25;
SELECT INTO my_variable2 id FROM my_table1;
INSERT INTO my_table2 (my_field1, my_field2, id) VALUES ('XXX', 'YYY', my_variable2);
END;
DECLARE v_MyVariable1 NUMBER;
DECLARE v_MyVariable2 VARCHAR2(100);
BEGIN
v_MyVariable1 := 0;
SELECT INTO v_MyVariable2 CUSTOMER_NAME
FROM CUSTOMERS;
SELECT INTO v_MyVariable1 CUSTOMER_HISTORY_SEQ.NEXTVAL FROM DUAL;
INSERT INTO CUSTOMERS_HISTORY (CUSTOMER_ID, CUSTOMER_NAME) VALUES (v_MyVariable1, v_MyVariable2);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
Oracle样式变量:
DECLARE my_variable1 int;
DECLARE my_variable2 int;
BEGIN
my_variable1 := 25;
SELECT INTO my_variable2 id FROM my_table1;
INSERT INTO my_table2 (my_field1, my_field2, id) VALUES ('XXX', 'YYY', my_variable2);
END;
DECLARE v_MyVariable1 NUMBER;
DECLARE v_MyVariable2 VARCHAR2(100);
BEGIN
v_MyVariable1 := 0;
SELECT INTO v_MyVariable2 CUSTOMER_NAME
FROM CUSTOMERS;
SELECT INTO v_MyVariable1 CUSTOMER_HISTORY_SEQ.NEXTVAL FROM DUAL;
INSERT INTO CUSTOMERS_HISTORY (CUSTOMER_ID, CUSTOMER_NAME) VALUES (v_MyVariable1, v_MyVariable2);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
如何访问数据库:ADO.NET、实体框架、LINQ到SQL。。。?您是在ASP.NET代码中寻求帮助,还是在SQL代码中寻求帮助?我删除了ASP.NET标记,因为这个问题根本不是关于ASP.NET的,而是关于SQL中的存储过程。了解您正在使用的数据库引擎将非常有用;不适合我。。。是正确的吗?错误:“INTO”处或附近出现语法错误