+ -
当前位置:首页 → 问答吧 → 问一个关于本地动态SQL的问题

问一个关于本地动态SQL的问题

时间:2011-10-07

来源:互联网

在哪个地方怎么运行下面这段代码(代码我已经读懂,就是不知道怎么验证这段代码,求教在哪运行最好写下步骤)
declare 
sql_stmt varchar2(200);
v_student_id number :=&sv_student_id;
v_first_name varchar2(25);
v_last_name varchar2(25);
begin
sql_stmt :='select first_name,last_name' ||
  'from student' ||
  'where sid= :1';
execute immediate sql_stmt
into v_first_name,v_last_name
using v_student_id;
dbms_output.put_line('first name: '||v_first_name);
dbms_output.put_line('last name: '||v_last_name);
end;

我已经装好PL/SQL,ORACLE11G

作者: lostangle5   发布时间: 2011-10-07

sql developer可以运行此代码或在sqlplus中运行调试此代码。

作者: lzd_83   发布时间: 2011-10-07

SQL> declare
  2 sql_stmt varchar2(200);
  3 v_student_id number :=&sv_student_id;
  4 v_first_name varchar2(25);
  5 v_last_name varchar2(25);
  6 begin
  7 sql_stmt :='select first_name,last_name' ||
  8 'from student' ||
  9 'where sid= :1';
 10 execute immediate sql_stmt
 11 into v_first_name,v_last_name
 12 using v_student_id;
 13 dbms_output.put_line('first name: '||v_first_name);
 14 dbms_output.put_line('last name: '||v_last_name);
 15 end;
 16  
 17  
 18  
 19  
关键是如何运行这代码

作者: lostangle5   发布时间: 2011-10-07

可以在sqlplus下运行,
也可以在plsqldeveloper的command window 下运行。
复制粘贴后,一个回车,一个斜杠/,一个回车,然后输入sv_student_id的值就执行了。

作者: renfengjun   发布时间: 2011-10-07

SQL code
declare  
sql_stmt varchar2(200);
v_student_id number :=&sv_student_id;
v_first_name varchar2(25);
v_last_name varchar2(25);
begin
sql_stmt :='select first_name,last_name' ||
  'from student' ||
  'where sid= :1';
execute immediate sql_stmt
into v_first_name,v_last_name
using v_student_id;
dbms_output.put_line('first name: '||v_first_name);
dbms_output.put_line('last name: '||v_last_name);
end;

sql_stmt :='select first_name,last_name' ||
'from student' ||
'where sid= :1';
第二行的from student 前面加个空格,后面加个空格。

作者: renfengjun   发布时间: 2011-10-07

最后加一个"/"

作者: rakiycl   发布时间: 2011-10-07