使用字符串替换运行SQL主脚本

时间:2018-03-14 15:13:27

标签: sql oracle

我最近在办公室接管了构建和运行脚本以将更新部署到Oracle数据库的任务。

我在这个任务中的前任(不再在这里工作)使用了这样的语法来从主脚本调用每个脚本:

@"<My_Project_Name Codebase Location>\{path within our TFS repository}";
--the <> was in the original, the {} was added by me

我能够搜索以了解@&#34; ...&#34;确实会调用引用的脚本。

但是,我一直无法找到关于&lt; ...&gt;的任何内容。句法。它似乎是一个变量替换,但是在我能看到的任何地方都没有定义该值。

我也不清楚这是否打算在Visual Studio,Toad,SQL * Plus,SQL Developer或其他方面运行。

1 个答案:

答案 0 :(得分:0)

我说这只是一个占位符,即 note ,表示你应该放置包含.SQL文件的位置(文件夹,目录)你将要运行而不是整个&lt; ...&gt; 。基本上,它可能就像

@c:\my_sql_files\news.sql

所以你用实际的目录&amp;每次运行文件名。

例如:

c:\Temp>dir c:\users\*.sql
 Volume in drive C is OSDisk
 Volume Serial Number is 7635-F892

 Directory of c:\users

14.03.2018.  20:03                25 news.sql       --> this is the file I want to run
               1 File(s)             25 bytes
               0 Dir(s)  346.474.045.440 bytes free

由于它位于c:\ users中,我应该使用该路径来运行它。如果没有路径,那就不会工作(除非当前目录中有NEWS.SQL):

c:\Temp>sqlplus scott/tiger@xe

SQL*Plus: Release 11.2.0.2.0 Production on Sri O×u 14 20:03:47 2018

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production


Session altered.

SQL> @c:\users\news.sql   --> c:\users is path to my NEWS.SQL file

SYSDATE
----------
14.03.2018

SQL>