-4

我在 sql 中有这段代码,它在 sql server 2005 上完美运行。但是当我在 isql plus 中运行这段代码时,它给出了错误,我应该进行哪些更改才能运行它。

代码是---

DECLARE @stu_Name VARCHAR(50), @stu_Address VARCHAR(50)
SELECT @stu_Name = g.stu_Name,@stu_Address= g.stu_address 
FROM student as g
WHERE unique_no = 's121' 
INSERT INTO 
   dbo.student(stu_no, stu_name, dateofbirth,stu_unique_no, stu_name,stu_address)
VALUES
     (13, 'John', '1990-12-12','s121', @stu_Name, @stu_Address);
4

2 回答 2

2

@ABCade 提供了高效的做事方式。当然,他的语法也可以在 SQL Server 中使用。所以大概练习的目的是将 T-SQL 准确地翻译成 PL/SQL。

DECLARE 
    l_stu_Name. student.stu_Name%type;
    l_stu_Address student student.stu_address%type;
BEGIN
    SELECT stu_Name, stu_Address
    into  l_stu_Name, l_stu_address 
    FROM student as g
    WHERE unique_no = 's121' ;
    INSERT INTO 
       dbo.student(stu_no, stu_name, dateofbirth,stu_unique_no, stu_name,stu_address)
    VALUES
         (13, 'John', '1990-12-12','s121', l_stu_Name, l_stu_Address);
END;
/

您应该知道 Oracle 文档是全面的、在线的和免费的。你应该学会驾驭它。 在这里找到它。问题。

于 2012-03-05T04:18:11.467 回答
0
INSERT INTO 
   dbo.student(stu_no, stu_name, dateofbirth,stu_unique_no, stu_name,stu_address)
SELECT 13, 'John', to_date('1990-12-12','yyyy-mm-dd'),g.unique_no, g.stu_Name, g.stu_address
FROM student as g
WHERE unique_no = 's121';

没有检查它,但这是一个开始......

于 2012-03-04T19:16:09.203 回答