添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

最近写 procedure ,遇到一些问题。其中我觉得关于“用变量名作为表名”的问题较有价值,写出和大家一起分享。请各位若有好的解决方案一定要不吝赐教。

如果你在写 procedure 时要根据特定变量的值动态创建 table (表名是全部或部分特定变量的值)。例如:

declare @tablename char(10)

//if some statement

set @tablename='test'

你想用变量 @tablename 的值作为表名创建一个新表 ,那么用 create table @tablename (test char(8)) 语句在 SQL server 2k 中执行就会遇到问题,

// 如果表不存在则创建

IF not EXISTS (SELECT name FROM sysobjects

WHERE name =@tablename AND type = 'U')

begin

set @createtable='create table '+ @tablename+' (myname char(2))'

exec(@createtable)

最近写procedure,遇到一些问题。其中我觉得关于“用变量名作为表名”的问题较有价值,写出和大家一起分享。请各位若有好的解决方案一定要不吝赐教。情景:如果你在写procedure时要根据特定变量的值动态创建table(表名是全部或部分特定变量的值)。例如:declare @tablename        char(10)//if some statements 1 :普通 SQL 语句可以用exec执行 Select * from tableName exec('select * from tableName') exec sp_execute sql N'select * from tableName' -- 请注意字符串前一定要加N 2:字段名, 名,数据库名之类作为 变量 时,必须用动态 SQL declare @fname v...
use E_Graphics_Card if exists(select * from sys.objects where name='usp_Insert_Update_Bios_Info_Args') drop proc usp_Insert_Update_Bios_Info_Args CREATE PROC usp_Insert_Update_Bios_Info_Args
http://dev.my sql .com/doc/refman/5.7/en/ sql -syntax-prepared-statements.html sql 片段DELIMITER $$ USE `portal_group`$$ DROP PROCEDURE IF EXISTS `proc_sync_data`$$ CREATE DEFINER=`root`@`%` PROCEDURE `
DECLARE cur CURSOR FOR SELECT id FROM v_proc; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; SET @select = concat('create VIEW v_proc as SELECT ...
java操作有些数据库比如clickhouse暂时还用的是jdbc,执行 sql 时面临使用statement还是prepareStatement,其中statement写的简单不过会有 sql 注入最后安全检查不过。prepareStatement就不会,因为使用了占位符,?,像myBatis也是占位符,就不会有 sql 注入。 不过?只能替换值,不能替换 名,诸多原因,编译上的,还有?其实两边默认有单引号。那如何prepareStatement使用占位符替换 名呢? 答案简单的说,没有! 参考 sql - Ho
坐看昀起: FullFileName = saveFileDialog1.FileName.Insert(saveFileDialog1.FileName.LastIndexOf("/") + 1, DateTime.Now.ToString("yyyyMMdd"));//这一行有错误。 //saveFileDialog1.FileName.LastIndexOf("/") 应该写成 //saveFileDialog1.FileName.LastIndexOf("//") 应该写成