zoukankan      html  css  js  c++  java
  • 在SQLServer中可以建两个名称相同的表,视图,存储过程 荣

    在SQL-Server2000中,以前碰到过一个问题,就是在SQL-Server中发现了两个名称一模一样的存储过程,当时还觉得挺奇怪,怎么也没有相同,现在才知道,原来不同的用户可以在SQL-Server中创建名称相同的表,视图,存储过程只要所有者不同就可以了。
    有时候,还会出现访问数据库中已经存在的表,系统提示该表不存在的情况,原因也是因为访问者和表拥有者不同的缘故。
    可以通过下面的语句更改表,视图,存储过程等对象的所有者:
    exec sp_changeobjectowner 'otheruser.tablename,'dbo'

    会提示移行警告: 注意: 更改对象名的任一部分都可能破坏脚本和存储过程。
    但是该操作还是会执行的。


    还碰到过这样一个事情,不知道是什么原因:

    CREATE proc Procname
      -- 部门ID
      @intval AS int
    as

    Declare @SQL AS NVarchar(2000)
      SET @SQL = ''SELECT * FROM Table WHERE id=" + @intva

    提示错误信息:
    将 nvarchar 值 ‘''SELECT * FROM Table WHERE id=" ‘ 转换为数据类型为 int 的列时发生语法错误。


    将存储过程修改成下面的就好了,不知道为什么?。
    CREATE proc Procname
      -- 部门ID
      @intval AS vatchar(64)as

    Declare @SQL AS NVarchar(2000)
      SET @SQL = ''SELECT * FROM Table WHERE id=" + @intva

  • 相关阅读:
    影响stm32仿真的因素
    DMA 如何查看它有没有传输完成 传输完成再开启
    keil出错总结
    一个例子讲解wav头文件 stm32声音程序 录音和播放 wav
    前期绑定 vs 后期绑定
    抽象类 VS 接口 (3)
    抽象类 VS 接口(1)
    封装之--JAVA中的访问修饰符(区别于.NET)
    【DP专题】——洛谷P1156垃圾陷阱
    MySql
  • 原文地址:https://www.cnblogs.com/admin11/p/565206.html
Copyright © 2011-2022 走看看